4
私はSwingWorkerを使用してTCP接続を介してデータを読み取り、戻ってくると表示します。Swingworker Timeout
new SwingWorker<EnvInfoProto, Void>() {
@Override
public EnvInfoProto doInBackground() {
try {
xxx.writeTo(socket.getOutputStream());
return ProtoMsg.parseFrom(socket.getInputStream());
} catch(IOException ignore) { }
return null;
}
@Override
public void done() {
try {
UpdateGui(get());
} catch (Exception ignore) {}
}
}.execute();
問題が発生するのは、ソケットが無効である場合です。 writeToの後、ソケットの入力を永遠に待ちます。しばらくしてからタイムアウトする最も簡単な方法は何ですか?この場合、thisも最適なソリューションですか?私はまだその解決策でスイングワーカーを使用しますか?
おかげ