当前位置: 代码迷 >> J2SE >> linux 上的异常:IOException: Broken pipe,求解、
  详细解决方案

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

热度:536   发布时间:2016-04-24 00:28:41.0
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函数只调用一次时,应该不会出现这个问题,解决方法是自己加入信息交换的协议,比如第一个数据报头标明数据长度;而接收端口在无法检测到新数据时不能立即退出,等接收的数据长度达到要求后,或者一定时间没有新数据再退出。

------解决方案--------------------
数据发送太快?接收不来?
  相关解决方案