我在我的Java應用程序中使用TCP Socket。我試圖用readInt()
方法從某個設備接收字節數據。TCP Socket在Java中接收時掛起
如果我從設備獲得4個字節,此方法工作正常。但是如果我得到少於4個字節,或者沒有,則readInt()
掛起。它被阻止並且不會返回。如果沒有數據可以接收,它應該拋出EOFException
異常,但它是掛起的。
代碼:
DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
DataInputStream din = new DataInputStream(socket.getInputStream());
int res = din.readInt();
確實,阻塞是一種自然行爲。 – 2010-10-29 13:43:27