什么是“broken pipe”异常,它在什么情况下会发生?
管道是数据流,通常是从文件或网络套接字中读取的数据。如果这个管道突然从另一端关闭,就会发生破裂的管道。对于文件来说,这可能是因为文件已挂载在磁盘上或远程网络已断开连接。对于网络套接字来说,可能是因为网络被拔掉或另一端进程崩溃了。
在Java中,没有特别针对BrokenPipeException
的异常类型。这种类型的错误将被包裹在不同的异常中,例如SocketException
或IOException
。
管道基本上是两个进程之间的通信渠道。因此,一个进程向管道写入数据,而另一个进程从管道读取数据。 断开的管道异常通常意味着一个进程试图从管道中读取或写入数据,而在管道另一端的进程已经死亡/被终止。
我觉得你正在使用 Java.net?
如果你关闭了连接,那么在发送更多数据之前,你需要打开一个新的 socket。
或者是你的连接被拒绝了。
Socket.
无论哪种情况下,他都不会收到“broken pipe”的错误信息。在问题中没有证据表明他是否使用java.net.
。 - user207421