一个很严重的问题,java socket传输在vista/windows7下的问题

angelheart 2010-04-28 10:40:04
用JAVA写的服务端,当运行在vista/windows7下的时候,客户端程序通过socket传输数据特别慢,当传输大数据包的时候,经常因为传输慢引起socket超时,然后抛出如下异常:您的主机中的软件中止了一个已建立的连接。。

服务端如果运行在XP或者Server 2003就没有上述的问题,各位兄台有没有碰到类似的问题?
...全文
477 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
angelheart 2010-04-29
  • 打赏
  • 举报
回复
找到原因了
ServerSocket serverSocket = new ServerSocket(1234);
serverSocket.setReceiveBufferSize(1024); //问题出在这里,vista和windows7会出问题,换成8192就没问题了,至于具体原因就不清楚了
meihao2007 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hq1305018 的回复:]
我遇到了一个类似的问题.
在WINDOWS7下使用MYSQL的JDBC连接MYSQL服务器的时候出现异常.
后来是更新了最新的MYSQL JDBC DRIVER解决的.

楼主的这个问题,应该和防火墙有关,把防火墙暂时关掉,执行一下看看速度如何?
[/Quote]
估计就是防火墙的问题
hq1305018 2010-04-28
  • 打赏
  • 举报
回复
我遇到了一个类似的问题.
在WINDOWS7下使用MYSQL的JDBC连接MYSQL服务器的时候出现异常.
后来是更新了最新的MYSQL JDBC DRIVER解决的.

楼主的这个问题,应该和防火墙有关,把防火墙暂时关掉,执行一下看看速度如何?
shine333 2010-04-28
  • 打赏
  • 举报
回复
不清楚,会不会和vista以后出来的windows高级防火墙有关?
angelheart 2010-04-28
  • 打赏
  • 举报
回复
再不抽一点,我切换为最新的JDK 1.6_20后,问题依旧存在
liwenso 2010-04-28
  • 打赏
  • 举报
回复
这个可能要等补丁包吧,系统的补丁包或者jdk的补丁包!
angelheart 2010-04-28
  • 打赏
  • 举报
回复
这个问题应该很普遍的,只是一般开发者很少用windows 7 系统
woshayawo 2010-04-28
  • 打赏
  • 举报
回复
没遇到!
angelheart 2010-04-28
  • 打赏
  • 举报
回复
补充一点,就算客户端程序直接运行在服务端所在的电脑上,也是同样的结果
牛叔 2010-04-28
  • 打赏
  • 举报
回复
城管来了。。。。
angelheart 2010-04-28
  • 打赏
  • 举报
回复
兼容模式也试过了。我把java.exe什么的都设了XP的兼容模式,还是不行
shine333 2010-04-28
  • 打赏
  • 举报
回复
换成兼容模式运行试试看?
angelheart 2010-04-28
  • 打赏
  • 举报
回复
对,是那个高级防火墙的,也关闭了的
shine333 2010-04-28
  • 打赏
  • 举报
回复
管理中的高级防火墙,不是控制面板里的那个简陋版
angelheart 2010-04-28
  • 打赏
  • 举报
回复
因为就算客户端程序直接运行在服务端所在的电脑上,也是同样的结果,所以防火墙的可能性很小。也不是缓存的问题,是socket流里面的数据过来的超级慢,5K的数据要10秒
angelheart 2010-04-28
  • 打赏
  • 举报
回复
不是防火墙的问题。。我把windows的防火墙都关闭了
thatsinteresting 2010-04-28
  • 打赏
  • 举报
回复
是不是缓冲了啊

62,621

社区成员

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

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