TCPサーバーへのTCP接続を必要とするAndroidアプリケーションに取り組んでいます(Node.jsで書かれています)
私の Android TCP クライアントは動作しており、メッセージを送受信できます。
私の具体的な質問は次のとおりです。
- Android でサーバーへの TCP 接続を処理する最良の方法は何ですか?
- 接続を維持する方法 (onDestroy() などで適切に接続を閉じる) ?
- AsyncTask を使用する方法はありますか (Android 4.0 では許可されていない通常の Thread クラスを除く)
次のような 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 を使用しており、通常のスレッドでネットワーク コードを使用することが許可されていないためです。