客户端可以同时有两个连接到同一个套接字侦听器吗?
Posted
技术标签:
【中文标题】客户端可以同时有两个连接到同一个套接字侦听器吗?【英文标题】:Can a client have two connections at the same time to the same socket listener? 【发布时间】:2016-11-24 14:31:54 【问题描述】:我们有一个正在监听端口 17700 的服务器和一个想要同步其数据的客户端,但该客户端是多线程的,并且同时在两个线程上建立了到同一个端口的连接。当我们查看收到的数据时,我们注意到发送的包裹是相互“混合”的。
我的理论
服务器向客户端发送的包地址完全相同,所以客户端不知道哪些包是针对哪个线程的。
有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:使用并发队列就足够了,这样数据包就不会堆积。更清洁的解决方案是每个连接在两侧都有自己的套接字。 (+ 1 个监听器接受连接)
【讨论】:
感谢 DarkIrata,我们现在使用多个套接字并且它可以工作以上是关于客户端可以同时有两个连接到同一个套接字侦听器吗?的主要内容,如果未能解决你的问题,请参考以下文章
socket.io 客户端可以连接到两个不同的服务器/端口吗?
TCP-IP 套接字 C:尝试连接到服务器套接字时出现错误地址错误