問題タブ [jmdns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
529 参照

android - Android を使用して MAC アドレスを取得する方法 - jmdns

特定のデバイスの Mac アドレスを取得する必要があります。私は Android - jmdns サービスを使用してデバイスをスキャンし、IP アドレスを取得しています。特定のデバイスの Mac アドレスを取得する必要があります。取得中に Mac アドレスを取得できますかAndroidを使用したIPアドレス - jmdnsサービスまたはその他の方法でIPアドレスを使用してMacアドレスを取得しますか?

0 投票する
1 に答える
252 参照

android - Physical Web mDNS android テスト - 広告ビーコン アプリが表示されない

このRaspberryPI の例を Android で複製しようとしています

mDNS (jmDNS ライブラリ) を使用して URL をアドバタイズする Android 用のアプリを作成しました。アプリは正常に動作し、ZeroConf Browser アプリを使用して別の電話でメッセージを受信できます

しかし、フィジカル Web アプリを使用して同じメッセージを受信しようとしても何も起こらず、アプリはサービスを見つけられません。

問題は、ホスト名と txt レコードの送信方法にあると思います。

これは私のコードです:

何が悪いのか理解するのを手伝ってもらえますか?

0 投票する
1 に答える
481 参照

java - Android での Proguard と JMDNS の問題

これがストーリーです: JMDNS ライブラリを含む .jar ファイルを含む Android ライブラリ用に Proguard を構成する必要があります。コードが完全に機能することはわかっています。

proward を有効にしてライブラリをビルドしようとすると、次のエラーがコンソールに出力されます

少し読んでみると、タグ-dontwarnを使用してこの種の警告を無視できることがわかりました。適用後、コンソールにこの警告が表示されます

コンパイルプロセスを続行できるように、そのメッセージを取り除く方法はありますか? -dontwarn失敗したメソッドで別のメソッドを追加しようとしましたが、タグでさえ-ignorewarnings成功しませんでした。

ちなみに、私のproguard-rules.pro:

前もって感謝します

0 投票する
1 に答える
1654 参照

java - mdnsjava を使用したネットワーク サービス検出の例はありますか?

問題

Java クライアント/サーバー アプリケーションのネットワーク サービス ディスカバリを開始しようとしています。クライアントが他のプラットフォーム上にある未来に備えたいと思います。おそらくNETCFとAndroidだけです。これはロケット手術であってはなりません。

オプション

ここにリストされているオプションを数時間参照すると、mdnsjava が現時点で最適なオプションであることがわかります。以下に私の研究の一部を掲載しましたが、現在の評判では 2 つのリンクに制限されています。

私はJmdnsの例をコンパイル、登録、ブラウジングするのにそれほど苦労することはありませんでした...しかし、それは単に確実に動作しませんでした。ブラウザは、サービスがまったく見つかった場合でも、255.255.254 サブネットの IP アドレスを返しました。

Mdnsjava はより良い評価を得ていますが、私は完全に実行に失敗しました。私が見つけた例は、単独では機能しないコード スニペットであり、javadocs は実際にはドキュメントではありません。名前のない (ただし必須の) 引数を持つパブリック メソッドのリストにすぎません。

Avahi4j は 2009 年以来 v0.1 のままでした。それに時間をかけませんでした。

Bonjour は、Apple 以外のプラットフォームでシステム ライブラリを必要とするようです。

私がまったく知らない Upnp は、最小限の要件を満たすために膨大な量のインフラストラクチャが必要になるようです。

質問

サービスを mdnsjava に登録するコンパイル可能な実際の例はありますか? 2015 年に別のライブラリを調査するのが最善の方法である場合は、別のライブラリを調査するように言われる準備ができています.

0 投票する
1 に答える
167 参照

java - JmDNS - 複数のマシンに同じサービスを登録する

JmDNS を使用して、ネットワーク内の同じサブネットにある 2 台のマシンにサービスを登録しています。ただし、2 台目のマシンが起動してサービスを登録しようとするたびに、その名前は自動的に「service_name (番号)」のようなものに変更されます。これは、サービスの名前がネットワーク内で一意のままであり、解決時に競合が発生しないようにするためだと思います。しかし、同じ名前でサービスをネットワークに登録し、同じサービスを担当するマシンの IP アドレスをグループ化する方法がないか考えていました。例: ネットワークに 3 台のマシンがあり、それらすべてがサービス X を提供します。そのため、サービスを登録するときに、サービス X の名前を「X (2)」および「X ( 3)」、それらはすべて「X」のままです

サービス リスナーを使用して正規表現チェックなどを実行できることはわかっています。サービスの名前が「X (2)」のように「X」に関連している場合は、その IP アドレスをマップに追加します。しかし、手動ではなく、ライブラリのみを使用して(もちろん可能であれば)これを行いたかったのです。

ありがとう。

0 投票する
1 に答える
396 参照

android - MulticastSocket Android はインターネットに関連していますか?

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

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

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

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

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

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

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

0 投票する
0 に答える
72 参照

java - JmDNS は時折、同じ IP アドレスを持つ 2 つの異なるデバイスを検出します

私は、JmDNSによってローカルネットワークからデバイスを検出するAndroidアプリに取り組んでいます.ほとんどの場合、正常に動作しますが、JmDNSがログから同じIPアドレスを持つ2つの異なるデバイスを検出することがあります.