人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

UDPによるデータの送受信で複数宛先を指定したい

お世話になります。
C#で、UDPによるデータの送受信で、1対1、1対Anyはできるのですが、
1対複数(IPアドレス指定)はどのようにすればよいでしょうか?

●質問者: mitsumitsu
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

具体的には以下のコードで、
mHostIp = "255.255.255.255"; //一斉同報はうまくいきます。

しかし、同報先をIPで指定する方法がわかりません。
たとえば通知先が192.168.1.100,192.168.1.101,..102,..103のように4台にだけ送信した場合、
どのようmHostIpを指定しますか?


private void SendBroadCast(string msg)
{
//送信するデータを作成する
byte[] sendBytes = System.Text.Encoding.UTF8.GetBytes(msg);

//UdpClientを作成する
if (mUdpClient == null)
{
mUdpClient = new System.Net.Sockets.UdpClient(LOCAL_PORT);
}

//非同期的にデータを送信する
mUdpClient.EnableBroadcast = true;
mUdpClient.BeginSend(sendBytes, sendBytes.Length, mHostIp, HOST_PORT, SendCallback, mUdpClient);

}

宜しくお願いします。


1 ● a-kuma3
●200ポイント

しかし、同報先をIPで指定する方法がわかりません。
たとえば通知先が192.168.1.100,192.168.1.101,..102,..103のように4台にだけ送信した場合、

一度の送信で複数の宛先に送るには、UDP のマルチキャストというのを使います。
通信には、クラスD の IPアドレスを使います。
送信側が相手を選ぶのではなく、受信側がマルチキャストの送信アドレスにつなぐ、という形になります。

"c# multicast" というキーワードでググるとサンプルが探せます。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ