我工作的一个Android应用程序,需要一个TCP连接到TCP服务器(写在Node.js的)
我的Android TCP客户端工作的可以发送邮件来回。
我spesific的问题是:
- 什么是处理一个TCP连接到Android中的服务器的最佳方式?
- 如何保持连接(正确关闭连接上的onDestroy()等)?
- 是否有那么使用的AsyncTask(除正常的Thread类,这是不是在Android 4.0的允许)的任何bether方式
我有一个这样的的AsyncTask我的套接字连接:
@Override
protected Void doInBackground(Void... params) {
try {
Log.d("TCP_MESSAGE", "Connecting...");
socket = new Socket(MY_LOCAL_IP, 8080);
dataOutput = new DataOutputStream(socket.getOutputStream());
inputstream = new InputStreamReader(socket.getInputStream());
input = new BufferedReader(inputstream);
while (!canceled) {
String message = input.readLine();
handleMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
我之所以在的AsyncTask的连接是因为我使用的Android 4.0,并且不允许有网络代码在常规线程。