java.io.IOException: 断开的管道

纯洁袜子 2016-01-21 01:26:26
java.io.IOException: 断开的管道
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at com.shbai.util.Tools.sendData(Tools.java:279)
at com.shbai.util.DataPacketSendOut.sendDeviceLightData(DataPacketSendOut.java:48)
at com.shbai.thread.LedDeviceLight.run(LedDeviceLight.java:60)

这个问题该怎么解决?原因我知道。
...全文
8094 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
duoyasong5907 2019-12-17
  • 打赏
  • 举报
回复
根据《unix网络编程卷1 5.14》图5-14下方文字,Broken pipe的原因可以是客户端收到服务器的RST后,继续试图读写,c语言中不处理这个异常会引发进程崩溃
m0_37719015 2017-12-07
  • 打赏
  • 举报
回复
一、Broken pipe产生原因分析 1.当访问某个服务突然服务器挂了,就会产生Broken pipe; 2.客户端读取超时关闭了连接,这时服务器往客户端再写数据就发生了broken pipe异常! 二、方案 1.问题一分析服务器为什么挂了。 2.问题二使用jps/jstack分析线程栈,看是不是有线程阻塞。
黄宝康 2017-11-12
  • 打赏
  • 举报
回复
这个是报错信息java.io.IOException: java.io.IOException: 断开的管道 at com.sun.xml.internal.ws.server.SDDocumentImpl.writeTo(SDDocumentImpl.java:284) at com.sun.xml.internal.ws.transport.http.HttpAdapter.publishWSDL(HttpAdapter.java:661) at com.sun.xml.internal.ws.transport.http.HttpAdapter.handleGet(HttpAdapter.java:261) at com.sun.xml.internal.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:235) at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:95) at com.sun.xml.internal.ws.transport.http.server.WSHttpHandler.handle(WSHttpHandler.java:80) at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83) at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:677) at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:649) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: javax.xml.stream.XMLStreamException: java.io.IOException: 断开的管道 at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.close(XMLStreamWriterImpl.java:378) at com.sun.xml.internal.ws.server.SDDocumentImpl.writeTo(SDDocumentImpl.java:282) ... 14 more
黄宝康 2017-11-12
  • 打赏
  • 举报
回复
我也遇到了这样的问题,该怎么解决呢?
tianfang 2017-05-31
  • 打赏
  • 举报
回复
运行环境是什么? 操作系统,jdk版本,容器都是什么
娃哈哈来来 2017-05-31
  • 打赏
  • 举报
回复
我也遇到这个情况,怎么模拟这个异常进而try---catch ,但就是模拟不出来,求大神指点迷津
zhuizhu_xingfu 2016-08-09
  • 打赏
  • 举报
回复
我也遇到了这个问题,请问楼主怎么解决的?
qq_29669211 2016-06-15
  • 打赏
  • 举报
回复
找到解决方法了么?楼主?
dracularking 2016-01-21
  • 打赏
  • 举报
回复 1
引用 4 楼 zyb112211 的回复:
[quote=引用 1 楼 xiesq5112 的回复:] 。。。。。。。。。。。。。。。 你知道什么原因,那你不去解决,那你至少说出来啊!
我现在知道它事实上并没有断开连接,但是为什么会数据发送失败,和这个断开的管道到底是什么?[/quote] 怎么判断的没有断开连接?
纯洁袜子 2016-01-21
  • 打赏
  • 举报
回复
引用 1 楼 xiesq5112 的回复:
。。。。。。。。。。。。。。。 你知道什么原因,那你不去解决,那你至少说出来啊!
我现在知道它事实上并没有断开连接,但是为什么会数据发送失败,和这个断开的管道到底是什么?
老李家的小二 2016-01-21
  • 打赏
  • 举报
回复
添加try、catch,不抛出这样的异常
纯洁袜子 2016-01-21
  • 打赏
  • 举报
回复
引用 1 楼 xiesq5112 的回复:
。。。。。。。。。。。。。。。 你知道什么原因,那你不去解决,那你至少说出来啊!
原因嘛,应该就是客户端断开了,然后我这里还往那里发数据,于是就报错了,但是我又觉得不对,在本地,如果客户端断开了不管是异常断开还是主动断开,服务端都是报出“远程主机断开了一个现有的连接”,而不是这什么”断开的管道“,原因大概应该就是这样,但是怎么解决一点头绪都没有,烦死了
心随自在飞 2016-01-21
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。 你知道什么原因,那你不去解决,那你至少说出来啊!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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