UDP发送组播消息
2015-04-02 16:49
246 查看
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发送组播消息
- 嵌入式 (unix domain socket本地套接字)使用udp发送>=128K的消息会报ENOBUFS的错误
- QUdpSocket简单使用Demo(局域网内发送给所有客户端消息与接收)
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- python,UPD,socket(一) 使用udp 发送消息
- Linux系统下UDP发送和接收广播消息小例子
- Socket编程 (连接,发送消息) (Tcp、Udp) - Part1
- Linux系统下UDP发送和接收广播消息小例子
- android发送udp,tcp消息
- 示例C#利用UdpClient发送广播消息
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- 使用udp发送大于128K的消息会报ENOBUFS的错误
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- 中标麒麟(linux)下QUdpSocket无法使用组播发送数据问题
- UDP协议发送和接收消息案例详解
- c#UDP发送接收消息
- udp采用sendmsg发送消息失败
- Linux系统下UDP发送和接收广播消息小例子
- Linux系统下UDP发送和接收广播消息小例子