2012-12-14 80 views
0

DataOutputStream當我拔出電纜時不會拋出IOException,我的代碼出了什麼問題?Java DataOutputStream在斷開連接時不會拋出IOException

這裏是我的代碼:

private void sendMessage(String message) { 
    try { 
     mDataOutputStream.writeUTF(message); 
     mDataOutputStream.flush(); 
    } catch(IOException ex) { 
     close(); 
    } 
} 

當我插上電纜回,數據仍然發送到服務器。

+0

你等了很久,看看它是否最終會超時? – NPE

+0

是的,我已經等了超過一個小時的超時時間。 –

回答

0

TCP連接的設計旨在優雅地應對短期故障,並在可能的情況下透明地應對。這意味着當連接短時間丟失時,例如少於3分鐘,連接應透明地重新建立。即使連接超時,您也不會異步知道,可能是下一次讀取或寫入失敗。

相關問題