发送多播数据包从未收到

时间:2015-08-05 13:00:04

标签: c# network-programming multicast

目前我有这个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,会发生什么:

  • 在我的设备上,每件事情都很好,接收者可以毫无问题地接收数据。
  • 使用以太网适配器数据包在同一网络上使用其他设备(我在线鲨中看到它)但从未收到过!使用WiFi的同一设备每个工作都很好!。
  • 使用WiFi的其他网络上的其他设备无效!

有什么建议吗? 再次,如果我使用Wire-Shark,我看到包没有问题!

1 个答案:

答案 0 :(得分:0)

我确实弄明白了 我作为发件人使用WiFi没有问题发生,如果发件人使用来自不同Switch的电缆而不是插在其上的开关接收器,问题就出现了!

所以在编程中没什么可做的,它是切换设置。 有关问题和解决方案,请参阅本思科指南 Multicast does not work on the same vLan