2013-05-16 38 views
0

我試圖通過下面的一段代碼接收基於端口的短信。有關在Android中使用套接字連接接收基於端口的短信的疑問

  serverSocket = new ServerSocket(SERVERPORT); 
    Socket client = serverSocket.accept(); 
    try { 
      BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); 
      line = null; 
      while ((line = in.readLine()) != null) { 
       Log.d("ServerActivity", line); 
       System.out.println("Reading Line is>>>>>>>>>>>>>"+line); 
       break; 
      }   
     } catch (Exception e) { 
      System.out.println("Exception While Reading SMS>>>>>>>>>>"+e);     
     } 

它會在的隊列中等待serverSocket.accept();直到它獲得基於端口的SMS,這是正確的行爲還是我在任何問題掛在那個地方,我無法超越它。

我不能完全測試,我沒有在這裏測試它的選項,發送端口消息。

有沒有人遇到過這個問題。有關這方面的任何信息都會有用。

回答

0

我想你可以嘗試添加while語句
serverSocket = new ServerSocket(SERVERPORT);
while(true){
Socket client = serverSocket.accept();
try {
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
line = null;
while ((line = in.readLine()) != null) {
Log.d("ServerActivity", line);
System.out.println("Reading Line is>>>>>>>>>>>>>"+line);
break;
}
} catch (Exception e) { System.out.println("Exception While Reading SMS>>>>>>>>>>"+e);
} }

和,只要它是真實的,它會等待客戶端發送消息。已經有一段時間了,因爲我上次做了其中的一個Working with Datagrams