java与c# socket通信。为什么服务端只能收到一个socket,第二个就收不到?

C#的客户端

java 的服务端接收主线程

java服务端处理socket数据的子线程

从c#客户端发出send一个后,java服务端能收到一个socket,但是之后的就一直在等待,永远收不到了
跪求神帮我查错!!!
在线等。。。

服务端的服务器Socket认为 你的C#的客户端是同一个Socket, 所以线程和子线程都起了一个。
你把C#的工程copy一个 三个工程一起运行测试看看。
而且你这个子线程写的有问题,List集合里的socket不该删掉。 不便于你管理socket。 你如果断掉Socket 就会又出现一个问题。 服务器崩溃追问

我的设计是服务器只用两个线程,一个用来监听,一个用来处理接收的socket。请问怎么改造才能让其正常一直运行下去?

我是想在客户端和服务器都不关闭socket,让其保持长连接

追答

一个客户端就是一个socket,在双方服务不断且保持活跃状态下是可以一直运行下去的

追问

那你看看我这段为什么不行?

温馨提示:答案为网友推荐,仅供参考