sppでサーバーとクライアントの接続を実装しようとしています。Java MobileのBluetooth:範囲外の接続の処理
サーバを初期化した後、まずクライアントをリッスンしてからデータを受信するスレッドを開始します。それは次のようになります。
私はメッセージを受け取ることができてうまくいきます。何が問題になっているのは、デバイスが範囲外になったときにスレッドが最終的にどのように死ぬかということです。
最初に、receive.read(buffer)
を呼び出すと、スレッドはデータを受信するまで待機します。デバイスが範囲外になると、中断されていないかどうかを確認するために、デバイスが先に進むことはありません。
第2に、接続を閉じることはありません。つまり、サーバーは範囲内に戻ってもデバイスを受け入れません。
非常に高く評価されました! –
ポテトチップバッグに入れて電話*を実際に外に出すこともできます。 (または薄い金属層のある他の袋)。 –