双网卡分别接收和发送组播
来源:互联网 发布:linux 任务 暂停 重启 编辑:程序博客网 时间:2024/04/29 07:37
有两套相同的系统(内部IP全部相同),使用两个设备(双网卡)分别接入两套系统,实现两套系统间组播信息互传
SystemA: 192.168.11.26(内网) 192.168.12.26(外网)
现在使用192.168.11.26接收内网的组播,并且使用192.168.12.26发出去
接收(此接收会产生丢包现象,测试程序没有处理):
private string iIp = ConfigurationManager.AppSettings["iIp"];private string oIp = ConfigurationManager.AppSettings["oIp"];
private void StartReceive() { try { IPEndPoint ip = new IPEndPoint(IPAddress.Parse(iIp), port); Udp = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); Udp.Bind(ip); Udp.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse(ipStr), IPAddress.Parse(iIp))); IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); EndPoint remote = (EndPoint)sender; byte[] data; while (isReceive) { try { data = new byte[1024]; int receiveLength = Udp.ReceiveFrom(data, ref remote); DoReceive(data, receiveLength); } catch (ThreadAbortException abort) { return; } catch (Exception ex) { continue; } } } catch (Exception ex) { Error(ex); } }发送:
private void SendMulticast(byte[] data) { using (Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)) { IPEndPoint ipLocal = new IPEndPoint(IPAddress.Parse(oIp), MulticastPort); server.Bind(ipLocal); IPEndPoint ip = new IPEndPoint(IPAddress.Parse(MulticastIP), MulticastPort); server.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse(ipStr), IPAddress.Parse(oIp))); server.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, 1); server.Connect(ip); server.SendTo(data, data.Length, SocketFlags.None, ip); } }
0 0
- 双网卡分别接收和发送组播
- linux下使用C语言接收和发送udp组播数据分别怎么写?
- socket 组播接收和发送实例
- 组播发送和组播接收的源代码例子
- 组播发送接收过程
- 多播报文的发送和接收
- linux 组播接收和发送代码和组播问题总结
- 组播发送和组播接收的源代码例子【转】
- 网卡接收和发送数据包的过程
- 网卡接收和发送数据包的过程
- 网卡如何发送和接收数据包
- 网卡接收和发送数据包的过程
- 网卡接收和发送数据包的过程
- 网卡如何发送和接收数据包
- 网卡接收和发送数据包的过程
- 组播的发送与接收问题
- 组播发送与接收程序
- linux下双网卡接收组播需要修改的参数
- 332. Reconstruct Itinerary
- 知网论文检索中论文引用结构和研究趋势使用说明
- Android 设置相关
- 依赖库Underscore系列(4)--对象
- Android散打之ScrollView
- 双网卡分别接收和发送组播
- Tkinter教程之Event篇(3)
- 多个倒计时
- Linux驱动子系统之I2C(1)
- UVA 1347 Tour
- java程序的耦合度是什么
- 正则表达式对照表
- Linux驱动子系统之I2C(2)
- JPA学习笔记(9)——映射双向一对多关联关系