問題タブ [service-discovery]
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.
android - Android で Network Service Discovery を使用した場合の内部エラー
サンプルと開発者ページのチュートリアルを使用した NSDManager の最初の実装中に、アプリケーションは正常に検出を開始し、デバイスを検出しました。
しかし、今は壊れているようです...
プログラムが開始されると、初期化の後、コードは次のメソッドに入り、正常に実行されます。
ログ メッセージが受信されます。しばらくすると (たとえば約 5 分)、プログラムから次のように出力されます。
また、サービスから:
エラーコード「0」は、内部エラーとしてNSDManagerクラスに記述されています。私が行った主な更新は、NsdCamera というヘルパー クラスのコンテキストへのアクセスです。以下は、おそらく邪悪なコード スニペットです。
ヘルパー クラス コンストラクター:
ヘルパー クラスの NSD 初期化:
CameraChooseActivity -> onCreateはヘルパー クラスを呼び出しています
android - Android ネットワーク プリンターの検出: NullPointerException
この質問は奇妙に聞こえますが、これまで経験したことがありません。私はネットワーク プリンター アプリケーションに取り組んでおり、NsdManager を使用して WiFi ネットワーク内のプリンターを検出しています。過去 2 週間は問題なく動作しており、同じ WiFi ネットワーク内のプリンターを検出して解決していました。しかし、突然、検出を開始するたびに次の例外が発生するようになりました。
Nexus S でアプリをテストしています。Samsung S3 に接続しましたが、このエラーは表示されません。この問題を検索しましたが、回避策が見つかりませんでした。私が得た最も近いものはhttps://code.google.com/p/android/issues/detail?id=39583です
誰でもこれに対する解決策を提案できますか? 「_ipp._tcp」を「_ipp._udp」に変更しようとしましたが、ネットワーク内のプリンターが見つかりません。
android - Android を使用して実行中の WCF Data Services を検出するにはどうすればよいですか?
私の Android アプリケーションは、 odata4jを使用して Windows サービスでホストされている WCF データ サービスに接続します。サービスを見つけることができる特定の URL が提供されている場合、通信はうまく機能します。
ただし、アプリケーションを変更してサービス アドレスを検出する必要があります (複数のコンピューターが LAN でサービスを実行できます)。
これらのサービス アドレスを見つけるにはどうすればよいですか? 明らかに、try catch ブロックを使用して for ループを使用して LAN 上の各アドレスに接続しようとする以外に。このための Android 機能はありますか?
apache-zookeeper - 飼育係の初期発見
レプリケートされたネーミング サービスとしてApache Zookeeper (またはCurator )を使用したいと考えています。3 つの Zookeeper サーバーを実行していて、これらのサーバーに接続できるさまざまなアプリケーションを備えた多数のコンピューターがあるとします。
ZooKeeper の IP アドレスをクライアントに伝えるにはどうすればよいですか? 各マシンに手動で配布する必要がある構成ファイルは?
Corba Naming サービスには、構成ファイルが不要な UDP ブロードキャスト検出のオプションがありました。Zookeeperにも同様の可能性はありますか?
android - Android スマートフォンやその他のデバイスでのサービス ディスカバリ
私の環境では、Android スマートフォンとその他のデバイスがいくつかあります。他のデバイスは Linux を実行しています。すべてのデバイスは、Wifi 経由でローカル ネットワークに接続されています。ここで、Smartphone がネットワーク内の他のデバイスを認識して検出できるようにするため、何らかのサービス検出を実装する必要があります。他のデバイスでは、ユーザーの操作は必要ありません。その後、2 つのデバイスが互いにペアリングできるようになります。
Android がNetwork Service Discovery (NSD)をサポートしていることを読みました。これは良いことですが、これは Android デバイスでしか機能しないようですよね? 私の場合、他のデバイスは組み込み Linux を実行するカスタム ハードウェアです。また、プログラミング言語も同じではありません。他のデバイスのアプリケーションは、C++ を使用して実装されています。
Simple Service Discovery Protocol (SSDP)についても読みました。これはプラットフォームに依存しない方法で機能するはずですよね?SSDPを使用してこれを実現する方法を簡単に説明できますか?
Service Discovery の実装に SSDP をお勧めしますか? Android および C++ 用の便利なライブラリはありますか?
または、私がやろうとしていることを実現するための他のアプローチを提案できますか?
よろしく
android - ネットワーク サービス ディスカバリ Android
Network Service Discovery を使用するアプリケーションの構築に取り組んでいます。この投稿http://developer.android.com/training/connect-devices-wireless/nsd-wifi-direct.htmlをフォローアップしました。アプリケーションは動作していますが、以下に示すコードに基づいていくつか質問があります。
WifiP2pDnsSdServiceInfo.newInstance("_test", "_presence._tcp", 記録);
レコードには多くのデータを保持できないようです。たとえば、レコード サイズが 20 の場合、情報はディスパッチされません。サイズ制限について教えてください。どのくらいのデータを送信できますか?
_presents._tcpのような利用可能なサービス タイプについては明確ではありません。ベンダー固有ですか?サポートされているサービス タイプのリストを知っておくと便利です。サービスの種類によって、送信できる情報の量が決まりますか? もしそうなら、適切なサイズのマップを送信するのに適したサービスの種類はどれですか。
更新: http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txtでこのドラフトを確認しました。セクション6.2 DNS-SD TXT レコード サイズを参照してください。「典型的な DNS-SD TXT レコードの合計サイズは、200 バイト以下に抑えるように意図されています。より多くのデータが正当化される場合 (LPR 印刷 [BJP] など)、合計サイズを 400 バイト未満に保つことで、単一の 512 バイトの DNS メッセージに収まるはずです」. 何かご意見は?
architecture - コンテナー (docker) 内からアプリをアナウンスする
週末にdocker's IRCでこの質問をしましたが、答えを熟考する前に立ち去らなければなりませんでした:
コンテナ内で多数のアプリケーションを実行している場合 (ここでは、それらがすべて同じ物理ハードウェア上で実行されていると仮定しますが、そうである必要はありません)、それぞれがそれぞれを見つけられるようにしたいと考えています。その他は自動的に。
ある種のレジストリ ( etcdや DNS-SD/Bonjour など) を使用して、サービスと関連する詳細をアナウンスし、他のアプリケーションにそれらを見つけて、それに応じてトラフィックをルーティングさせることができます。
ここでの問題は、アプリケーションはコンテナー内でサービスを提供しているホスト名/ポートを認識できますが、これはアクセス可能なポートまたはアドレスである必要はないということです。結合する必要がある 2 つの情報があります。
- サービスにアクセスできる場所。コンテナの外からアクセス可能
- サービスの機能 (バージョン番号、サービスの種類); コンテナ内からアクセス可能
コンテナの壁を越えてこの情報を取得する方法を教えてください。
- TCP 経由で docker をコンテナーに公開することで、アプリはその表示場所を照会できますが、これは関心の分離に違反しているようです。
- アナウンスの準備のためにコンテナが開始された後、ホスト システムが照会するファイル/ポートをコンテナで開くことができますが、これは WSDL を再発明しているように感じます。
この問題をどのように解決すべきかについての考えやガイダンスはありますか?
java - 非 Android デバイスからの検索と Android NSD サービス
Android 4.1 以降、Network Service Discovery (NSD)が利用可能になりました。ただし、コンピュータまたは Android を実行していない他のデバイスから NSD サービスを公開する Android デバイスを見つけるにはどうすればよいでしょうか。例に示されているように Android アプリをビルドすると、他のデバイスは問題なく検出されますが、Android が常にプラットフォームとして使用されるとは限りません。
I am running UPnP discovery on my PC and the phone does not show up.
You can find my NSD-Service implemented here on github.
The Discovery app is simple from the android example.
The UPnP example is using Cling and is from their tutorial it finds my router and the windows media player so I assume it works.
It may be that the issue is based on a mismatch of service discovery protocols, I relay am confused as to the differences between NSD, UPnP, Bonjour, Zeroconf and all the other possibilities...