c#简单的组播例子

 

根据internet NIC关于IP地址的规定,IP地址共分为A-E 共5类,其中A-C类目前应用的普通IP地址,E类地址保留为将来使用,D 类地址即为组播地址,其网络号为固定的1110(第0~3位),第4~31位定义了某一特殊的组播地址,范围为 224.0.0.0~239.255.255.255,共有228个约27亿个地址。 

本文来自: (http://www.91linux.com/) 详细出处参考:http://www.91linux.com/html/article/network/20080616/12575_2.html

 

使用组播有一个很大的好处,消息往只管往里面丢,接受端开个线程,不断地接收就可以了。

发送端:

            Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            IPEndPoint iep = new IPEndPoint(IPAddress.Parse("224.0.0.1"), 3000);
            EndPoint ep = (EndPoint)iep;

            byte[] b = Encoding.ASCII.GetBytes("just a test!");
            s.SendTo(b, ep);
            s.Close();

接收端:

              Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
              IPEndPoint iep = new IPEndPoint(IPAddress.Any, 3000);
              EndPoint ep=(EndPoint)iep;
              s.Bind(iep);
              s.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.AddMembership,new MulticastOption(IPAddress.Parse("224.0.0.1")));
              byte[]b=new byte[1024];
              s.ReceiveFrom(b,ref ep);

              string test;
              test = System.Text.Encoding.ASCII.GetString(b);

             Console.WriteLine(test);
             

              s.Close();
              Console.ReadKey();

posted on 2010-09-13 15:35  @雪人 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liyancscom/archive/2010/09/13/1825041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值