首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

linux 上的异常:IOException: Broken pipe,求解、

2012-08-10 
linux 下的错误:IOException: Broken pipe,求解、、、、、错误描述如下:java.io.IOException: Broken pipeat ja

linux 下的错误:IOException: Broken pipe,求解、、、、、
错误描述如下:

java.io.IOException: Broken pipe
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:260)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at jShell2$3.run(jShell2.java:85)


求高人解答、、、、、、、、、、

[解决办法]
这个错误可能是由于Linux/Unix的连接数限制,或者多个线程对同一Socket进行读写。
这时Socket通道坏掉了。可能是数据发送有延迟,对方没有检测到新数据,直接把通道关了,于是你再往里添加数据时就出现这个异常,通常往Socket里面写数据的Write函数只调用一次时,应该不会出现这个问题,解决方法是自己加入信息交换的协议,比如第一个数据报头标明数据长度;而接收端口在无法检测到新数据时不能立即退出,等接收的数据长度达到要求后,或者一定时间没有新数据再退出。

[解决办法]
数据发送太快?接收不来?

热点排行