はじめまして。
現在、MFCやC#などでwindowsアプリを作成しています。
MFCでブロードキャストにて送受信を行うアプリを作成しましたが、
送受信で同一のポートを使用すると、自分で送信したデータが
ループバックのように自分で受信できます。
(もちろん外部にブロードキャストは送信されています。)
いろいろと調べましたが、なぜこのようになるかがわかりません。
こうなる理由と回避方法がおわかりの方がいましたらお教えください。
UDP受信待機中に同一ポートからブロードキャスト送信
Re: UDP受信待機中に同一ポートからブロードキャスト送信
ブロードキャスト対象のアドレス範囲に,自分自身がいるからではないでしょうか。
例えば,192.168.0/24のネットワークがあって,自アドレスが192.168.0.1の場合に192.168.0.255宛てに送ったパケットは,当然192.168.0.1も受信対象になります。
例えば,192.168.0/24のネットワークがあって,自アドレスが192.168.0.1の場合に192.168.0.255宛てに送ったパケットは,当然192.168.0.1も受信対象になります。
Re: UDP受信待機中に同一ポートからブロードキャスト送信
ご回答ありがとうございます。
最初に書き忘れましたが、Windows8で動作確認をしています。
自分自身もブロードキャスト対象であるからというと、
OS側が送信パケットの宛先IPを毎回確認して、自分も対象となっている
場合はループバックを行っているというイメージでしょうか?
また、自分が送信したブロードキャストを受信しないようにする
方法などはご存知でしょうか?
MFCでは、マルチキャストのループバック設定はありましたが、
ブロードキャストでは同様の設定がありませんでした。
最初に書き忘れましたが、Windows8で動作確認をしています。
自分自身もブロードキャスト対象であるからというと、
OS側が送信パケットの宛先IPを毎回確認して、自分も対象となっている
場合はループバックを行っているというイメージでしょうか?
また、自分が送信したブロードキャストを受信しないようにする
方法などはご存知でしょうか?
MFCでは、マルチキャストのループバック設定はありましたが、
ブロードキャストでは同様の設定がありませんでした。