日期:2014-05-20  浏览次数:20832 次

关于java的socket编程问题:服务器端收不到信息
我现在写一个java分布式的程序。程序功能是:多个客户端连接一台服务器。然后当其中一个客户端有一个计算请求发送给服务器,服务器将这个计算任务分解成多个子任务,发给所有的客户端一起计算。所有客户端计算完以后,将任务重新发回服务器。服务器整理这些结果,然后返回给初始的那台客户端。
这个系统建立的是TCP连接。
现在遇到一个问题。
当客户端发送了计算请求给服务器以后,服务器分解计算任务然后发给多个客户端。每个客户端都计算完并将结果返回给服务器。但是,只有第一个返回结果的客户端的信息服务器能收到,第二个就一直停在bufferedreader的readline这行。
请问这该怎么解决

------解决方案--------------------
探讨


我之前的解决方案是将客户端发送数据包的方法改为单线程执行,不用多线程。这样就避免了大量包的发送,但是又降低了程序运行的效率。

------解决方案--------------------
探讨

引用:

引用:

限制线程数



我就是为了提高性能才增加客户端的线程的...