私は、ローカル ネットワークを介してピアのアドレスをブロードキャスト/マルチキャストすることにより、自己構成をサポートする通信プロトコルに取り組んでいます。直観的な方法はアドレスをブロードキャストすることですが、結局のところ、現在のマシンのローカル IP アドレスを確実に把握することはかなり困難です (構成によっては、「127.0.0.1」または別の役に立たないアドレスを取得する可能性があります)。 .
別の方法は、ブロードキャスト メッセージにホスト アドレスを含めずにrecvfrom
、受信データだけでなく送信者のアドレスも返すソケットを受信者に呼び出させることです。私が見たところ、この呼び出しは Unix と Windows (私の要件の 1 つ) の両方で利用でき、おそらくその他のいくつかのプラットフォームでも利用できます。私の質問は、これが失敗しrecvfrom
、到達不能または役に立たないアドレスを返す可能性がある状況はありますか?