M-SEARCH

提供: 個人的記録
移動: 案内検索

UPNPでデバイス検索を行うためのメッセージ。
ブロードキャストで送信する。問い合わせの応答は同じブロードキャストグループに対しおくられてくる。

送信あて先

IPv4

  • アドレス
    239.255.255.250
  • ポート番号
    1900

IPv6

  • アドレス
    FF02::C
  • ポート番号
    1900

メッセージ

以下の書式のメッセージを送信する。
改行コードは「\r\n」固定。要求に応じて書き換えるべき箇所は {項目名} で記載。

M-SEARCH * HTTP:/1.1
HOST: {ブロードキャストグループ}:{ポート番号}
MAN: "ssdp:discover"
MX: {応答時間}
ST: {検索対象}

ブロードキャストグループ

M-SEARCHを送信するのと同じアドレスを指定。

ポート番号

M-SEARCHを送信するのと同じポート番号を指定。

応答時間

レスポンスを待つ最大時間を秒単位で記述。
1~1200の範囲で設定する。

検索対象

検出したい対象を指定する。
デバイスの指定方法は以下の形式で指定する。
なお、検索対象を指定しても、全部帰ってくることが多い。

ssdp:all

全デバイスを指定する。環境に存在するUPNPデバイスの情報をすべて取得したいのであればこれを指定しておく。

upnp:rootdevices

ルートデバイスを対象とする。

urn:schemas-upnp-org:device:{デバイス種別}:{バージョン}

UPNPの特定のデバイスを検出する場合に使用する。

  • デバイス種別
    検出したいデバイスの種別を指定する。
  • バージョン
    何のバージョンを指しているのか不明。とりあえず1をセットしとけば問題なさそう。

urn:schemas-upnp-org:service:{サービス種別}:{バージョン}

UPNPの特定のサービスを検出する場合に使用する。

  • サービス種別
    検出したいサービスの種別を指定する。
  • バージョン
    何のバージョンを指しているのか不明。とりあえず1をセットしとけば問題なさそう。

応答

送信に対し、直接応答が返ってくることはない。
M-SEARCHを受けたデバイスが個別にブロードキャストにNOTIFYを返送してくるので、ブロードキャストグループで受信すること。