0

AndroidアプリケーションにTCPサーバーがあります。サーバーはすぐに実行を開始します。ボタンを1回クリックするだけでサーバーを停止し、別のボタンをクリックしてサーバーを再起動します。

私のサーバーは次のようなものです。

serverSocket = new ServerSocket(1292);
while (true) {
 Socket client = serverSocket.accept();            
 ServersClient s = new ServersClient(client);
 Thread clientThread = new Thread(s);
 clientThread.run();
}

私はこのコードでクロージングを正常に処理します:

serverSocket.close();

このコードの後、クライアントは接続できなくなります。

今すぐ再起動するにはどうすればよいですか?

4

2 に答える 2

2

ServerSocket新しい接続をリッスンします。

SocketserverSocket.accept()戻る接続インスタンスです。

Socketインスタンスを閉じて、特定のクライアントとの接続を閉じる必要があります。閉じるServerSocketと、アプリケーションがポートからバインド解除されます。

于 2012-04-14T13:25:54.540 に答える
0

ServerSocketを閉じた後は、再度開くことはできません。したがって、新しいServerSocketインスタンスの作成から始めて、最初のコードスニペットを再度実行するだけです。

于 2012-04-14T13:00:38.490 に答える