来自客户端的Android tcp连接
问题描述:
我想让我的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”作为错误消息。
有什么想法? 谢谢!
答
尝试通过WiFi。 如果您可以找到手机的IP地址,请尝试从您的开发系统ping它。
如果您在单元网络上,请尝试从浏览器访问网站,确保网络连接正常。
答
错误是因为我是跑在主线程TCP连接..我可能已经通过将一个类固定的AsyncTask,但我者优先添加此:
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
谢谢大家!
您是否在清单中包含Internet权限?我也可以推荐使用Volley。一个很好的介绍:http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/ – VonSchnauzer 2014-09-21 17:15:58