1
使用android 2.3.3,我有一個後臺服務,它有一個套接字連接。還有這是一個從不斷的套接字讀取一個主題:android socket write interrupting read
BufferedReader in = new BufferedReader(new InputStreamReader(mSock.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
... do stuff
}
// Socket has been closed (?)
in.close();
然後在我的主線程我打電話:
private void writeSocket(String line) {
mSock.getOutputStream().write(line.getData("US-ASCII"));
}
當我打電話writeSocket,寫()不會拋出異常,但我不在另一端看不到數據,並且當write()發生時,讀線程中的in.readLine()立即返回null。從我讀的內容來看,應該可以安全地從不同的線程同時讀取和寫入相同的套接字。這似乎寫是造成套接字關閉,但我沒有得到一個例外..
是的,這似乎是我的問題。我正在寫錯誤的數據到導致另一端斷開連接的套接字。 – Aaron 2012-02-02 19:56:20