0

オブジェクトを作成する必要があるため、ネットワーク ブロードキャスト用のマルチキャスト グループに 1 つのネットワーク インターフェイス (eth) を追加していjMDNSます。イーサネット インターフェイスはTCPIPBluetooth 用です。サービス公開でマルチキャスト グループに参加した後、jMDNS オブジェクトを作成するためにインターネット/Wifi をアクティブにする必要があるという 1 つの問題に直面しています。jmdns のクライアント側サービス ディスカバリでは、マルチキャストを作成したり、マルチキャスト グループに参加したりする必要はありません。

そのため、マルチキャスト ソケットの作成後にサービスを公開し、グループに参加した場合、jmdns オブジェクトを作成すると (インターネット/Wifi をオンにせずに)、以下の例外が発生します。

java.net.SocketException: setsockopt が失敗しました: ENODEV (そのようなデバイスはありません)

jmdns でインターネット/Wifi をオンにすると、すべてが正常に機能します。

私の質問は、Bluetooth-Pan テザリング用のネットワーク インターフェイスを明示的に使用しているときに、なぜインターネット/Wifi をオンにする必要があるのですか?

問題を解決する方法はありますか? またはBT-テザリングには常にインターネット接続が必要ですか?

AndroidフレームワークでJavaをプログラミング言語として使用しています。

4

1 に答える 1

0

ホットスポットを作成するデバイスで jmdn をインスタンス化しようとすると、同様の問題に遭遇しました。jmdnsをインスタンス化するには、デバイスをwifiに接続する必要があるようです(したがって、ホットスポットのホストではありません)。

于 2016-03-03T13:11:31.627 に答える