2017-03-05 62 views
0

我有一個簡單的客戶端服務器程序,但仍然出現連接重置異常。我在網上簡短的研究/所以我不能斷定什麼是錯在我的代碼連接重置異常,未知原因

public class SocketServer { 

    public static void main (String [] args) throws Exception{ 
     ServerSocket ss = new ServerSocket (11060); 
     Socket s = ss.accept(); 
     BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); 
     String str = br.readLine(); 
     System.out.println("Client Data :" + str); 
    } 
} 

public class SocketClient { 

    public static void main (String [] args) throws Exception{ 

     String ipAddress = "localhost" ; 
     int port = 11060; 

     Socket s = new Socket (ipAddress, port); 

     String str = "Hello World"; 

     OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream()); 
     PrintWriter pw = new PrintWriter (osw); 
     osw.write(str); 
     osw.flush(); 
    } 
} 

Exception in thread "main" java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(Unknown Source) 
    at java.net.SocketInputStream.read(Unknown Source) 
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) 
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source) 
    at sun.nio.cs.StreamDecoder.read(Unknown Source) 
    at java.io.InputStreamReader.read(Unknown Source) 
    at java.io.BufferedReader.fill(Unknown Source) 
    at java.io.BufferedReader.readLine(Unknown Source) 
    at java.io.BufferedReader.readLine(Unknown Source) 
    at tanvi.SocketServer.main(SocketServer.java:14) 

回答

1

您不關閉套接字在服務器或客戶端。這將導致連接重置在某些平臺上。

+0

它爲我工作! – JavaDeveloper

+1

你似乎很驚訝。您應該始終關閉任何和所有系統資源。 – EJP