【问题标题】:Can a client have two connections at the same time to the same socket listener?客户端可以同时有两个连接到同一个套接字侦听器吗?
【发布时间】:2016-11-24 14:31:54
【问题描述】:

我们有一个正在监听端口 17700 的服务器和一个想要同步其数据的客户端,但该客户端是多线程的,并且同时在两个线程上建立了到同一个端口的连接。当我们查看收到的数据时,我们注意到发送的包裹是相互“混合”的。

我的理论

服务器向客户端发送的包地址完全相同,所以客户端不知道哪些包是针对哪个线程的。

有没有办法解决这个问题?

【问题讨论】:

    标签: c# windows multithreading sockets xamarin.android


    【解决方案1】:

    使用并发队列就足够了,这样数据包就不会堆积。更清洁的解决方案是每个连接在两侧都有自己的套接字。 (+ 1 个监听器接受连接)

    【讨论】:

    • 感谢 DarkIrata,我们现在使用多个套接字并且它可以工作
    猜你喜欢
    • 2016-05-25
    • 2017-06-09
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多