socketio.hpp 828 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 = 1024;
  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. };