我正在尝试为聊天应用程序设计一个客户端服务器模型。我需要有两个不同的端口来发送和接收。实际上我有3个节点.1服务器和2个客户端(或从服务器)。消息通过客户端2的客户端1将始终通过服务器进行路由。我应该使用哪种端口和套接字数量。请注意我使用winsock和pthread API在C ++中完成所有这些操作。
答案 0 :(得分:0)
通常使用TCP(SOCK_STREAM)。您只需要一个插槽即可进行传入连接。 bind(2)
它到特定端口。你可以accept(2)
任意数量的连接。
多个线程可以在同一个套接字上等待(accept(2))。操作系统将只向一个线程发送一个连接;)
对于每个传出连接,您必须创建一个新套接字但不必绑定它。操作系统将自行选择适当的IP /端口。