ネットワーク上に Roku デバイスがあり、プログラムで検出できるようにしたいと考えています。Rokuの公式ドキュメントには次のように書かれています。
ローカル ネットワーク通信に使用される標準の SSDP マルチキャスト アドレスとポート (239.255.255.250:1900) があります。Roku は、この IP アドレスとポートで M-SEARCH クエリに応答します。
roku IP アドレスを照会するために、プログラムは http プロトコルを使用して次の要求を 239.255.255.250 ポート 1900 に送信できます。
彼らは netcat を使用した例を提供し、wireshark を使用して結果を見つけることができると言っています。彼らはまた言います:
外部制御プロトコルにより、ネットワーク経由で Roku を制御できます。外部コントロール サービスは、SSDP (Simple Service Discovery Protocol) を介して検出できます。このサービスは、事実上すべてのプログラミング環境のプログラムからアクセスできる単純な RESTful APIです。
IP アドレスを指定して Roku を制御する Java プログラムがあり、この SSDP を使用してネットワーク上で Roku を検出する機能を実装したいと考えています。
Java で M-SEARCH クエリを送信するにはどうすればよいですか? 私はこれを行う方法についてまったく考えていません。取得/投稿リクエストのようなものですか? 誰かが私を正しい方向に向けることができれば、私はとても感謝しています!