java与c# socket通信。为什么服务端只能收到一个socket,第二个就收不到?
C#的客户端java的服务端接收主线程java服务端处理socket数据的子线程从c#客户端发出send一个后,java服务端能收到一个socket,但是之后的就一直在等...
C#的客户端
java 的服务端接收主线程
java服务端处理socket数据的子线程
从c#客户端发出send一个后,java服务端能收到一个socket,但是之后的就一直在等待,永远收不到了
跪求神帮我查错!!!
在线等。。。 展开
java 的服务端接收主线程
java服务端处理socket数据的子线程
从c#客户端发出send一个后,java服务端能收到一个socket,但是之后的就一直在等待,永远收不到了
跪求神帮我查错!!!
在线等。。。 展开
1个回答
展开全部
服务端的服务器Socket认为 你的C#的客户端是同一个Socket, 所以线程和子线程都起了一个。
你把C#的工程copy一个 三个工程一起运行测试看看。
而且你这个子线程写的有问题,List集合里的socket不该删掉。 不便于你管理socket。 你如果断掉Socket 就会又出现一个问题。 服务器崩溃
你把C#的工程copy一个 三个工程一起运行测试看看。
而且你这个子线程写的有问题,List集合里的socket不该删掉。 不便于你管理socket。 你如果断掉Socket 就会又出现一个问题。 服务器崩溃
更多追问追答
追问
我的设计是服务器只用两个线程,一个用来监听,一个用来处理接收的socket。请问怎么改造才能让其正常一直运行下去?
我是想在客户端和服务器都不关闭socket,让其保持长连接
追答
一个客户端就是一个socket,在双方服务不断且保持活跃状态下是可以一直运行下去的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询