UDP发送组播消息
2016-11-11 00:00
183 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace Asr.App.O2o.Client.UdpMulticast { public class UdpMulticast { private static IPAddress mcastAddress; private static int mcastPort; private static Socket mcastSocket; private static MulticastOption mcastOption; public static void Start() { //组播地址和端口 mcastAddress = IPAddress.Parse("224.0.0.1"); mcastPort = 6005; //组播套接字,绑定本地地址(组播端口) mcastSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint localEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), mcastPort); mcastSocket.Bind(localEP); //加入组播 mcastOption = new MulticastOption(mcastAddress, IPAddress.Parse("127.0.0.1")); mcastSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, mcastOption); } public static void Stop() { mcastSocket.Close(); mcastSocket.Dispose(); } public static void sendMsg(int msgType, int seqInt, string jsonValue) { byte[] typebytes = BitConverter.GetBytes(msgType); byte[] seqbytes = BitConverter.GetBytes(seqInt); byte[] msgbytes = Encoding.UTF8.GetBytes(jsonValue); byte[] lenbytes = BitConverter.GetBytes(msgbytes.Length); byte[] bytes = typebytes.Concat(seqbytes).Concat(lenbytes).Concat(msgbytes).ToArray(); mcastSocket.SendTo(bytes, new IPEndPoint(mcastAddress, mcastPort)); } } }
相关文章推荐
- UDP发送组播消息
- UDP发送组播消息
- Socket编程(连接、发送消息)(Tcp、Udp)
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- Linux系统下UDP发送和接收广播消息小样例
- QT中用udp客户端发送消息,丢失数据的情况以及处理!
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- rsyslog用tcp/udp发送日志消息最大2k的限制配置
- java发送UDP消息
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- C#利用UdpClient发送广播消息
- Udp消息发送接收示例
- Android 部分机型有时UDP消息发送失败
- C#使用UdpClient发送广播消息介绍
- Linux系统下UDP发送和接收广播消息小例子
- java发送接收组播(多播)数据包(UDP包)
- tcp文件传输(udp发送消息确定是否接收)
- UDP协议下内网与公网IP进行发送消息,一对多.且选择不同的客户端发送消息
- UDP协议下内网与公网IP进行发送消息
- 使用udp协议给飞Q发送消息