我正在处理一个需要TCP连接到TCP服务器的
Android应用程序(写在Node.js中)
我的Android TCP客户端正在工作可以来回发送消息.
我的奇怪问题是:
>在Android中处理与服务器的TCP连接的最佳方式是什么?
>如何维护连接(onDestroy()等)正确关闭连接)?
>有没有更好的方式然后使用AsyncTask(除了普通的线程类,这是不允许在Android 4.0)
我在AsyncTask中的socket连接如下所示:
@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,并且不允许在常规线程中具有网络代码.