关于java的socket编程问题:服务器端收不到信息

ringobob 2011-11-29 05:15:53
我现在写一个java分布式的程序。程序功能是:多个客户端连接一台服务器。然后当其中一个客户端有一个计算请求发送给服务器,服务器将这个计算任务分解成多个子任务,发给所有的客户端一起计算。所有客户端计算完以后,将任务重新发回服务器。服务器整理这些结果,然后返回给初始的那台客户端。
这个系统建立的是TCP连接。
现在遇到一个问题。
当客户端发送了计算请求给服务器以后,服务器分解计算任务然后发给多个客户端。每个客户端都计算完并将结果返回给服务器。但是,只有第一个返回结果的客户端的信息服务器能收到,第二个就一直停在bufferedreader的readline这行。
请问这该怎么解决
...全文
543 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ringobob 2011-12-25
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 ncuboy045wsq 的回复:]
找到一个平衡点,线程个数也不要太多,这个平衡的线程个数需要你自己去找
[/Quote]
谢了,我后来修改了下程序,线程的个数做了个限制,就降低了粘包的出现率。
yanglei02152003 2011-12-06
  • 打赏
  • 举报
回复
编程过程中发现一个问题,请各位大虾帮忙看一下!
我最近编写了一个JAVA APPLET小程序,建立一个SCOKET连接,想得到本地的IP和端口号,但是结果总是得到127.0.0.1这个地址,很困惑!
try{
String host = "192.168.1.232";
Socket sock1 = new Socket(host,6666);
String localhost = sock1.getLocalAddress().toString();
String localport = sock1.getLocalPort.toString();


}catch(){}

用网页打开,运行以上代码得到的localhost总是127.0.0.1,不解,怎么能得到本地有用的IP地址呢?
请各位帮忙,不胜感激!
另外,从服务器端返回的客户端(即本地)IP地址是正确的,端口号要比localprot少一。这种情况在有些电脑是这样,有些电脑上不是这样,就是有些电脑返回是正常的有用的IP地址。
安卓机器人 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ringobob 的回复:]

引用 15 楼 xiaos_hui 的回复:

引用 14 楼 ringobob 的回复:

限制线程数



我就是为了提高性能才增加客户端的线程的...
[/Quote]
找到一个平衡点,线程个数也不要太多,这个平衡的线程个数需要你自己去找
ringobob 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xiaos_hui 的回复:]

引用 14 楼 ringobob 的回复:

限制线程数

[/Quote]

我就是为了提高性能才增加客户端的线程的...
潇水汀寒 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ringobob 的回复:]


我之前的解决方案是将客户端发送数据包的方法改为单线程执行,不用多线程。这样就避免了大量包的发送,但是又降低了程序运行的效率。
[/Quote]
限制线程数
ringobob 2011-12-05
  • 打赏
  • 举报
回复
不好意思,还是有个问题。
当多个客户端同时大量的发送数据包,而且同一台客户端有几十个线程同时发送数据包给服务器。大概这时候网络传输量是1MB/S...那么服务器就会发生接受的包个数不对的问题。请问该如何解决。

我之前的解决方案是将客户端发送数据包的方法改为单线程执行,不用多线程。这样就避免了大量包的发送,但是又降低了程序运行的效率。
hzc543806053 2011-11-29
  • 打赏
  • 举报
回复
结贴吧!!
wang7535067 2011-11-29
  • 打赏
  • 举报
回复
Congratulations!
wuxiaoke2009 2011-11-29
  • 打赏
  • 举报
回复
xuexile ha
态度决定品质 2011-11-29
  • 打赏
  • 举报
回复
楼主不给人机会啊 哈哈
zqfddqr 2011-11-29
  • 打赏
  • 举报
回复
求结贴哈哈
龙四 2011-11-29
  • 打赏
  • 举报
回复
那就结贴吧
ringobob 2011-11-29
  • 打赏
  • 举报
回复
问题解决了,是前面的代码分析数据包时忽略了本身...
ringobob 2011-11-29
  • 打赏
  • 举报
回复
刚刚测试了一下,如果发送计算请求的客户端,连续发送多次的计算请求,那么其中有部分的计算,服务器收到所有的客户端的返回结果。
该如何解决?
kouyiSC 2011-11-29
  • 打赏
  • 举报
回复
接分快乐。。。又是唱双簧了。。。
kurt17 2011-11-29
  • 打赏
  • 举报
回复
没有代码,真的不好分析。。
明悟 2011-11-29
  • 打赏
  • 举报
回复
楼主结贴吧
qybao 2011-11-29
  • 打赏
  • 举报
回复
没有代码无法分析
既然LZ解决了,就接分了。。。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧