작은 객체 지향 헤더 전용 소켓 라이브러리 UDP와 TCP를 모두 지원합니다.
소켓 및 연결 클래스가 있습니다. Connection 클래스에서 상속하고 전송하려는 모든 클래스에 대해 << 및 >> 연산자를 재정의할 수 있습니다. 소켓 클래스는 직접 사용하기 위한 것이 아닙니다.
TCP 및 UDP 클라이언트와 서버 템플릿 클래스가 있습니다.
Connection 클래스와 함께 사용할 수 있습니다.
SocketException 클래스가 있습니다.
커뮤니케이터 테스트 이제 Send/Recv 테스트만 있습니다.
Connection 클래스에서 상속하고 구조체 또는 클래스에 대해 '>>' '<<' 메소드를 구현하십시오.
그런 다음 이 클래스를 TCP/UDP/클라이언트/서버 템플릿의 유형으로 사용하십시오.
연결이 설정되면 서버와 클라이언트가 연결 개체를 반환합니다.
(서버 클래스의 경우 AcceptConnection()
메서드, 클라이언트 클래스의 경우 Connect()
메서드)
모든 클라이언트에는 TemplateConnection Connect(const std::string ip, const int port)
가 있습니다.
모든 서버 클래스에는 TemplateConnection AcceptConnection()
있습니다.
하나의 소켓을 바인딩하고 들어오는 연결을 수신합니다.
새로운 연결 요청이 오면,
accept()
를 통해 새 소켓을 열고 클라이언트와의 새 연결을 만듭니다.
해당 주소를 소켓에 바인딩할 필요는 없습니다.
단지 서버 주소로 connect()
메소드를 호출할 뿐입니다.
포트를 바인딩하고 recvfrom()
통해 요청을 기다립니다.
recvfrom()
에서는 들어오는 연결에 명시적으로 바인딩됩니다.
서버 주소로 sendto()
호출합니다.