PCにクライアントアンドロイドアプリとサーバプログラムがあります。クライアントアプリケーションでは、自分のアクティビティのonCreate()で新しいスレッドを開始します。そのスレッドには、サーバーにメッセージを送信する無限ループがあります。しかし時には最大5秒の遅延があります。今、メッセージが配信されていないAndroid Socket Programming Delay
EDIT
new Thread(new Runnable() {
public void run() {
Socket socket = null;
PrintWriter out = null;
try {
socket = new Socket(ip, 1755);
out = new PrintWriter(socket.getOutputStream(), true);
} catch (IOException e) {
e.printStackTrace();
}
while(true) {
if(socket != null) {
out.println(msg);
}
}
}
}).start();
:ここでは、クライアント側のコードがあります。
は、あなたが本当にループ内でソケットを作成しますかtechniq最適化を見つけます。一度作成してからループを送信して閉じないのはなぜですか? – jgm
私の答えを確認しましたか? – Krish
@Krishはい、私はあなたの答えをチェックしました。今私はユーザーが画面に触れるたびにメッセージを送信したいと思います。だから、私はonTouchEvent()内でsendMessage()を呼び出すだけですか? –