我试图了解破损的管道异常,并认为生成一个异常是一个好主意,但不幸的是我无法做到。
服务器 - netcat 客户端 - Java套接字
Server ------------- Client
<--------- SYN
SYN,ACK --------->
<--------- ACK
FIN,ACK ---------> (when server dies on kill -9)
<--------- ACK
<--------- writes some bytes
RST -------------> (no exception thrown at java side)
答案 0 :(得分:0)
管道是数据流,通常是从文件或网络套接字读取的数据。当该管道从另一端突然关闭时,会发生破裂的管道。对于flie,这可能是文件安装在已断开连接的光盘或远程网络上。对于网络套接字,可能是网络被拔掉或者另一端的进程崩溃。
尝试阅读大文件,当客户端正在阅读时,请拔下网络电缆或禁用网络适配器将其从网络中取出。
或
只需关闭服务器。
确保客户端正在从服务器读取大字节流,以便您可以手动执行上述任一步骤。