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

C#的客户端java的服务端接收主线程java服务端处理socket数据的子线程从c#客户端发出send一个后,java服务端能收到一个socket,但是之后的就一直在等... C#的客户端

java 的服务端接收主线程

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

从c#客户端发出send一个后,java服务端能收到一个socket,但是之后的就一直在等待,永远收不到了
跪求神帮我查错!!!
在线等。。。
展开
 我来答
素竹亲
2015-05-24 · TA获得超过301个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:125万
展开全部
服务端的服务器Socket认为 你的C#的客户端是同一个Socket, 所以线程和子线程都起了一个。
你把C#的工程copy一个 三个工程一起运行测试看看。
而且你这个子线程写的有问题,List集合里的socket不该删掉。 不便于你管理socket。 你如果断掉Socket 就会又出现一个问题。 服务器崩溃
更多追问追答
追问
我的设计是服务器只用两个线程,一个用来监听,一个用来处理接收的socket。请问怎么改造才能让其正常一直运行下去?

我是想在客户端和服务器都不关闭socket,让其保持长连接
追答
一个客户端就是一个socket,在双方服务不断且保持活跃状态下是可以一直运行下去的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式