2016-04-11 75 views
0

在線程「main」中獲取異常java.io.EOFExceptionJava套接字java.io.EOFException

在最後一行代碼中,爲什麼?以及如何解決......謝謝。

String ip = "XXX.XX.XX.XXX"; 
    int port = XXXXX; 
    Socket socket = null; 
    System.out.println("in function"); 
    socket = new Socket(ip, port); 
    System.out.println("in function - After Socket"); 
    ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); 
    System.out.println("in function - After ObjectOutputStream"); 
    ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); 
+0

如果在嘗試通過'socket.getInputStream()'獲取InputStream時獲取'java.io.EOFException',則很可能與其他端/服務器端代碼兼容。另外,在正確的位置, java.io.EOFException'通常是一個有效的異常,指定字節已經結束,沒有更多可讀的內容。 –

+0

'ServerSocket'代碼是什麼?可能是ServerSocket已關閉。 – ELITE

回答

0

對等體已經關閉了套接字。可能你發送了一些它不明白的東西。除非它是一個Java程序,它也使用對象inout和輸出流,它絕對不會理解。