2011-10-15 92 views
1

我遇到了一個問題,當我在我的程序上處理我的數據時,服務器可能會從我的客戶端程序中取出其套接字,但我需要捕獲此異常並重新連接它以運行我的程序。我沒有使用serverSocket,但都使用Socket創建一個對象。 我需要你的幫助。詳細的實現代碼是受歡迎的。謝謝如何在java中捕獲SocketException時重新連接套接字?

回答

1

你不能。如果你是客戶,你必須創建一個新客戶,並且希望客戶能夠做到這一點,如果你是服務器。

+0

但是當我關閉舊客戶端插座上,JDK注意到我,我不能colse呢?甚至當我打開一個新的客戶端套接字時,如何獲取最後一個客戶端套接字(日期流和流出)的整個狀態?謝謝〜 – LillianXiong

+0

@LillianXiong'注意我無法關閉它'如何?而且你不能'獲取最後一個客戶端套接字的整個狀態'。它消失了。你必須重新開始。 – EJP

1

嘗試創建一個新的具有相同的IP和端口

while (!socket.isConnected()) { 
        try { 
         socket = new Socket(inetAddress, port); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 

        try { 
         Thread.sleep(200); 
        } catch (InterruptedException e1) { 
         e1.printStackTrace(); 
        } 
       }