2014-09-21 259 views
0

我想讓我的android手機成爲我在python中編寫的服務器的客戶端。服務器工作良好(我已經嘗試過),但我似乎無法連接手機與服務器。 這是應該創建連接功能:來自客戶端的Android tcp連接

public String createConnection() throws IOException{ 
    InetAddress serverAddr = InetAddress.getByName(ipString); 
    clientSocket = new Socket(serverAddr, portNumber); 
    DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
    BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
    outToServer.writeBytes(Client.INIT_HEY.name()); 
    String ans = inFromServer.readLine(); 
    return ans; 
} 

ipString是由用戶所接收的服務器IP,端口號是端口號,它們都是正確的。 當我嘗試連接到服務器時,收到「null」作爲錯誤消息。

有什麼想法? 謝謝!

+0

您是否在清單中包含Internet權限?我也可以推薦使用Volley。一個很好的介紹:http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/ – VonSchnauzer 2014-09-21 17:15:58

回答

0

嘗試通過WiFi。 如果您可以找到手機的IP地址,請嘗試從您的開發系統ping它。

如果您在單元網絡上,請嘗試從瀏覽器訪問網站,確保網絡連接正常。

0

錯誤是因爲我是跑在主線程TCP連接..我可能已經通過將一個類固定的AsyncTask,但我者優先添加此:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
StrictMode.setThreadPolicy(policy); 

謝謝大家!