【问题标题】:Send Multicast Packet never received发送组播数据包从未收到
【发布时间】: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


【解决方案1】:

我想通了
我作为发件人使用 WiFi 没有问题,如果发件人使用来自不同开关的电缆而不是插在它上的开关接收器,问题就会出现!

所以编程没什么可做的,就是开关设置。 有关问题和解决方案,请参阅此 Cisco 教程 Multicast does not work on the same vLan

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 2015-12-03
    • 1970-01-01
    • 2013-12-09
    • 2021-04-15
    相关资源
    最近更新 更多