C# 发送从未收到的多播数据包

C# 发送从未收到的多播数据包,c#,network-programming,multicast,C#,Network Programming,Multicast,目前我有这个C代码来打开套接字多播连接 IPAddress destAddr = IPAddress.Parse(m_Address); m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); m_Socket.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.MulticastTimeToLive, m_

目前我有这个C代码来打开套接字多播连接

  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;
我使用此代码连接并将数据包发送给接收者,结果是:

  • 在我的设备上,一切正常,接收器接收数据没有任何问题
  • 使用同一网络上的其他设备,使用以太网适配器,数据包会发出(我在wire shark中看到),但从未收到!,同样的设备使用WiFi,一切都很好
  • 其他网络上使用WiFi的其他设备无效
有什么建议吗? 再次,如果我使用钢丝鲨,我看到包出去没有问题

我确实弄明白了
我作为一个发送者使用WiFi没有问题发生,如果发送者使用来自不同交换机的电缆,而不是插在其上的交换机接收器,则会出现问题

因此,在编程中无需做任何事情,只需切换设置。 有关问题和解决方案,请参阅本Cisco教程 我确实想出来了
我作为一个发送者使用WiFi没有问题发生,如果发送者使用来自不同交换机的电缆,而不是插在其上的交换机接收器,则会出现问题

因此,在编程中无需做任何事情,只需切换设置。 有关问题和解决方案,请参阅本Cisco教程

您的网络是否启用了多播功能,例如,如果您与目的地之间有路由器,则必须将其配置为支持多播组SME和我的学院在同一网络上(路由器/交换机)。。等等。但它对我有效,但对他无效。以太网卡是否与多播有关?您的网络上是否启用了多播?例如,如果您与目的地之间有路由器,则必须将其配置为支持多播组SME和我的学院在同一网络上(路由器/交换机)。。等等,但它对我有效,但对他无效,以太网卡与多播有任何关系吗?