我正在查看創建線程以處理每個傳入連接的服務器的代碼。問題在於,由於某些原因,在一堆線程中,從套接字創建的DataInputStream掛在readByte上,沒有拋出任何異常。超時設置爲60秒,所以我不確定下一步是什麼。DataInputStream readByte被阻止/掛起
socket.setSoTimeout(timeout);
socketInputStream = socket.getInputStream();
byte connectionOptions = socketDataInputStream.readByte();
您確定有一個字節可讀? 'available()'返回大於0嗎? – WhiteFang34 2011-03-17 09:48:54
@mohamed你是什麼意思?我很確定套接字只能由1個線程處理,並且它只是坐在readByte上等待永久(無超時)。 – phobus 2011-03-17 10:12:45