1
在我的應用程序中,我使用套接字讀/寫操作進行服務器通信。當服務器關閉時,套接字寫入操作僅在第二次拋出異常「管道中斷」。第一次寫入操作不會引發任何異常。任何人都可以告訴我原因。Android Socket寫操作
代碼我用這個,寫操作
public void write(byte[] buffer) {
try {
mmOutStream.write(buffer);
}
catch (Exception e) {
e.printStackTrace();
}
}
在此先感謝
SocketAddress sockaddr = new InetSocketAddress(SERVERIP, 8080);
Socket nsocket = new Socket();
nsocket.setSoTimeout(3000);
nsocket.connect(sockaddr, 5000);
if (nsocket.isConnected())
{
mmInStream = nsocket.getInputStream();
mmOutStream = nsocket.getOutputStream();
}
代碼...
拋出異常,因爲我已經停止了服務器。我的實際問題是,在服務器關閉後,我第一次執行寫入操作時不會拋出異常。但它會在下次嘗試寫入時拋出異常。 – upv 2011-05-19 11:09:21
@Unnnikrishnan PV基本上是由於緩衝。你無能爲力。您無法立即檢測到TCP中的連接失敗,它總是需要幾秒鐘的時間。 – EJP 2011-05-19 23:48:28
@downvoter(s)請解釋。上面沒有錯誤。如果您不同意請說明原因。 – EJP 2011-08-11 23:25:33