CTCPSocket.cpp 688 B

123456789101112131415161718192021222324252627282930
  1. #include <LibCore/CTCPSocket.h>
  2. #include <sys/socket.h>
  3. #include <errno.h>
  4. CTCPSocket::CTCPSocket(int fd, CObject* parent)
  5. : CSocket(CSocket::Type::TCP, parent)
  6. {
  7. // NOTE: This constructor is used by CTCPServer::accept(), so the socket is already connected.
  8. m_connected = true;
  9. set_fd(fd);
  10. set_mode(CIODevice::ReadWrite);
  11. set_error(0);
  12. }
  13. CTCPSocket::CTCPSocket(CObject* parent)
  14. : CSocket(CSocket::Type::TCP, parent)
  15. {
  16. int fd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
  17. if (fd < 0) {
  18. set_error(errno);
  19. } else {
  20. set_fd(fd);
  21. set_mode(CIODevice::ReadWrite);
  22. set_error(0);
  23. }
  24. }
  25. CTCPSocket::~CTCPSocket()
  26. {
  27. }