我正在努力制作一个skype即时消息,我的想法就是拥有 一个服务器,为客户端处理多个连接。我现在拥有的是朋友列表等,但现在我想为服务器和客户端创建线程以处理对话。问题是我需要在每个对话的服务器和一个客户端之间建立多个连接(我认为)。但我不认为这是可能的。有人有另一种方法可以做到这一点,或者可能是在服务器和客户端之间建立多个连接的方法吗?
感谢您帮助我
PS:英语不是我的主要语言,所以请原谅我的语法。
答案 0 :(得分:1)
我认为最好的是你总是从每个客户端到服务器建立一个tcp连接,这样如果你的客户端在防火墙或路由器后面,无论如何都可以建立连接。
然后,您需要使用控制消息定义协议,例如“使用...创建新会话”。并且服务器可以为每个新会话生成一个guid,然后客户端可以通过一个连接接收和发送带有会话ID的消息。
<强>更新强>
回答原始问题:是的,您可以在客户端和服务器之间建立多个连接。应该从客户端打开每个连接到服务器端口,一旦建立,每个连接将具有不同的端口。您可以创建一个线程来处理每个连接,或者使用非阻塞调用处理所有连接的线程。