[英]How to create broken pipe IO exception in java
我正在嘗試了解管道異常的情況,並認為生成一個管道異常是一個好主意,但不幸的是我未能做到。
服務器-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)
管道是數據流,通常是從文件或網絡套接字讀取數據。 當該管道的另一端突然關閉時,就會發生管道破裂的情況。 對於flie,可能是文件掛載在已斷開連接的光盤或遠程網絡上。 對於網絡套接字,可能是網絡拔出或另一端的進程崩潰。
嘗試讀取一個大文件,然后在客戶端讀取文件時,通過拔下網絡電纜或禁用網絡適配器將其從網絡中刪除。
要么
只需關閉服務器即可。
確保客戶端正在從服務器讀取大字節流,以便您可以手動執行上述任一步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.