私の SwingWorkerは、ユーザーが [接続] ボタンをクリックすると、新しいものdoInBackground()
を作成 (および登録) します。OP_ACCEPT
ServerSocketChannel
クライアントの場合isAcceptable()
、 は を にSwingWorker
登録SocketChannel
しOP_READ
ます。
ユーザーが「切断」ボタンをクリックすると、 はSwingWorker
closes()ServerSocketChannel
およびselector()
. ただし、クライアントはまだ開いています。
問題: ユーザーが [接続] をもう一度クリックすると、クライアントがまだOP_READ
モードにあり、ServerSocketChannel
.
これを克服する方法はありますか?ServerSocketChannel
再起動には、クライアントも再起動する必要がありますか?