【发布时间】:2015-08-05 13:00:04
【问题描述】:
目前我有这个 C# 代码来打开 Socket Multicast 连接。
IPAddress destAddr = IPAddress.Parse(m_Address);
m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
m_Socket.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.MulticastTimeToLive, m_TTL);
m_EndPoint = new IPEndPoint(destAddr, m_Port);
//Try to fix Network issue
m_Socket.MulticastLoopback = true;
m_Socket.Ttl = 255;
我使用此代码连接并将数据包发送到 Reciver,发生的情况是:
- 在我的设备上一切正常,接收器接收数据没有任何问题。
- 使用同一网络上的其他设备使用以太网适配器数据包出去(我在wire-shark中看到它)但从未收到!,使用WiFi的同一设备一切正常!。
- 使用 WiFi 的其他网络上的其他设备无法正常工作!
有什么建议吗? 同样,如果我使用 Wire-Shark,我会看到数据包没有问题!
【问题讨论】:
-
您的网络是否启用了多播,例如如果您和目的地之间有路由器,则必须将其配置为支持多播组
-
我和我的大学在同一个网络(路由器/交换机).. 等等,但它对我有用,但对他不起作用,以太网卡与多播有什么关系吗?
标签: c# network-programming multicast