2012-05-12 37 views
0

我正在製作一個基於雲的android應用程序,其中我必須不時從我的android應用程序發送數據到我的服務器。當我用USB電纜在我的手機上測試我的應用程序時,這兩個插座(計算機和電話)連接到同一個網絡上時工作良好。當我通過在我的電腦上運行服務器並在我的手機上運行應用程序來測試應用程序時,兩者都由相同的路由器連接,但存在一些問題並且未建立連接。我無法弄清楚爲什麼這種情況發生時,應用程序正常工作與連接在調試模式下的電纜。 我已經爲我的套接字創建了一個應用程序的子類來獲取任何活動的套接字。 我的客戶代碼如下。通過同一網絡的android服務器連接

package augID.main; 

import java.io.IOException; 
import java.net.Socket; 
import java.net.UnknownHostException; 

import android.app.Application; 
import android.util.Log; 

public class socketApp extends Application { 

    public static String serverIpAddress = "172.16.83.3"; 
    public static int REDIRECTED_SERVERPORT = 54321; 
    public Socket socket; 

    public void onCreate(){ 
     createConnection(); 
    } 
    public void createConnection(){ 
     Log.d("Client", "Connection"); 
     try { 
      socket = new Socket(serverIpAddress, REDIRECTED_SERVERPORT); 
      Log.d("Client", "Connection to server made"); 
     } catch (UnknownHostException e1) { 
      Log.d("server","could not connect"); 
      e1.printStackTrace(); 
     } catch (IOException e1) { 
      Log.d("server","could not connect"); 
      e1.printStackTrace(); 
     } 
    } 
} 

任何幫助,將不勝感激。

回答

0

您的路由器或防火牆是否可能阻止連接?如果您尚未完成此操作,請進入您的路由器並將端口54321轉發給運行服務器的PC。另外,抓住Wireshark並尋找手機的連接請求。

希望這會有所幫助。