socketio.hpp 842 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include <string>
  2. #include <cstring>
  3. #include <vector>
  4. #include <iostream>
  5. #include <exception>
  6. #include <cmath>
  7. #include <stdexcept>
  8. #include <sys/socket.h>
  9. #include <netinet/in.h>
  10. class cppsocket{
  11. private:
  12. struct sockaddr_in serv_addr;
  13. int sock;
  14. std::vector<char> buffer;
  15. public:
  16. const static std::size_t buffersize = 256;
  17. cppsocket(sockaddr_in _serv_addr, int _sock);
  18. cppsocket();
  19. cppsocket(const std::string& addr, unsigned int PORT);
  20. void close();
  21. int socket_id();
  22. void write(const std::string& message);
  23. void write(const std::vector<char>& message);
  24. std::vector<char> receive();
  25. };
  26. class server_socket{
  27. private:
  28. int port_;
  29. int server_fd;
  30. struct sockaddr_in address;
  31. socklen_t addrlen;
  32. public:
  33. int port();
  34. server_socket(int _port);
  35. cppsocket accept_connection();
  36. void close();
  37. };