0

アプリケーションの場合、実行されているすべての「自分の」デバイスとそのバージョンを検出して、(別のプロトコルを介して) 更新をプッシュする必要があります。

しかし、オブジェクトを指定せずに、検索する必要がある URI を検出オブジェクトに指定する方法がわかりません。

: null URI 文字列を使用して検出し、受信したデバイスをフィルタリングすることもできますが、ネットワーク上に膨大な数 (600 以上) の UPnP デバイスがあるため、少数の UPnP デバイスが私は検索する必要があります(〜20)、それには多くの時間がかかります。効率的な方法を探しています。

したがって、私の URN が次の場合:urn:upnp-org:device:TestDevice:2.2.5で、 を取得したい場合 urn:upnp-org:device:TestDevice:*、どうすればよいですか?

私は試した

urn:upnp-org:device:TestDevice: urn:upnp-org:device:TestDevice:*

ワイルドカードはありますか?プレースホルダー?

4

1 に答える 1

2

のバージョン管理機能を悪用していると思いますM-SEARCHversion は、実装バージョンではなくインターフェイス バージョンをST意味し、それ以降のバージョンは完全に下位互換性があると予想されます。したがって、既知の最も低いバージョンを入力するだけで、デバイスの任意のバージョンを検索できます。すべてのデバイスが応答しますが、実際のバージョンではなく、検索したバージョンが返されます(下位互換性があるため)。デバイスは実際のバージョンを自慢するのではなく、要件を満たすために最善を尽くすことが期待されるため、「ワイルドカード」のようなものはありません。ST:M-SEARCH

UPnP デバイス アーキテクチャ ドキュメントの 1.2.2 章と 1.2.3 章をよく読んで、M-SEARCH の要求と応答について説明することをお勧めします。

実装バージョンの検出に UPnP を使用する場合(これは完全に合法です)、その情報を返す関数を使用してカスタム サービスを実装することをお勧めします。私が理解しているように、あなたはすでにカスタムデバイスを持っています。

于 2013-02-10T21:39:36.263 に答える