2012-04-14 15 views
0

私はアンドロイドアプリケーションにTCPサーバーを持っています。サーバーはすぐに実行されます。ボタンを1回クリックするだけで、サーバーを停止し、別のボタンをクリックして、サーバーを再始動します。TCPサーバーを再起動する

私のサーバーは、このようなものです:

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

私は正常にこのコードを閉じハンドル:このコードの後

serverSocket.close(); 

、何のクライアントが接続できません。

今すぐ再起動する必要がありますか?

答えて

2

ServerSocket新しい接続を待ち受けます。

Socketは、serverSocket.accept()が返す接続インスタンスです。

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

+0

ありがとうございます。私はServerSockedの代わりにソケットを閉じ、それは働いた! –

0

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

関連する問題