【发布时间】:2014-11-10 20:14:04
【问题描述】:
我正在开发一个在 Nios 处理器上使用 LWIP 发送 UDP 数据包的系统。我已经开发了一个 C# 应用程序来实现接收数据的可视化。
我遇到的问题是在发送到多播地址时在 C# 应用程序上接收数据。在运行 C# 应用程序的 com+uter 上,我能够看到以 IP 225.0.0.1(多播地址)为地址的传入数据包,但我的 C# 应用程序没有收到它们。
C# 应用程序接收发送到网络地址的数据,例如 192.168.0.100 或当数据发送到 255.255.255.255 时(在这种情况下,我可以在两台不同的计算机上运行该应用程序并且都接收相同的数据)。
我已经在论坛上阅读了几个答案并尝试了所有答案。
我目前使用的代码是:
UdpClient udpClientImage;
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 8884);
udpClientImage = new UdpClient(RemoteIpEndPoint);
udpClientImage.EnableBroadcast = true;
IPAddress m_GrpAddr;
m_GrpAddr = IPAddress.Parse("225.0.0.1");
udpClientImage.JoinMulticastGroup(m_GrpAddr);
while (true)
{
Byte[] receiveBytes = udpClientImage.Receive(ref RemoteIpEndPoint);
senderIPAddress = RemoteIpEndPoint.Address;
string returnData = Encoding.ASCII.GetString(receiveBytes);
}
为了接收多播地址,我是否遗漏了什么?
欢迎任何帮助,
【问题讨论】: