2011-12-15 4 views
0

メソッドLocalServerSocker.accept()の接続に対して、バックグラウンドスレッドで待機中のLocalServerSocketを中止または中断する方法を教えてください。LocalServerSocket.acceptを中止する方法

別のスレッドからclose()メソッドを呼び出そうとしましたが、うまくいかないようです。

答えて

1

Androidプロジェクトにはチケットが開かれています:http://code.google.com/p/android/issues/detail?id=29939

私たちは同じ基本libcore のものを使用するために、これを書き換え、そして自由のための中断動作を取得すべきだと思う:

が最初のコメントがあるような問題は、Googleが確認されているようです。

回避策は、別のスレッドからLocalServerSocketにカスタムシャットダウンコマンドを送信して、acceptをブロック解除することです。

+0

LocalServerSocketのサブクラスを記述し、スレッドを強制終了するパラメータを追加する必要があるのですか? – Lily

+0

いいえ、私のケースでは、localServerSocketスレッドがソケットを閉じて終了できるように、accept()をブロック解除するローカルソケットに接続する別のスレッドでした。 – orcy

関連する問題