我UdpClient
用来在多播地址上发送数据。
代码如下所示:
m_udpclientSender = new UdpClient();
m_remoteEndPoint = new IPEndPoint(m_multicastAddress, m_port);
m_udpclientSender.ExclusiveAddressUse = false;
m_udpclientSender.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
m_udpclientSender.JoinMulticastGroup(m_multicastAddress, 255);
m_udpclientSender.ExclusiveAddressUse = false;
m_udpclientSender.Send(buffer, buffer.Length, m_remoteEndPoint);
它被发送到正确的端口/ip,但它是从一个随机端口发出的(这是预期的),但我需要/希望它是从一个特定的端口(我也发送的同一个端口)发送的。
我看到了:如何指定 UdpPacket 的源端口?
但是我不需要专门使用地址,如果我在构造函数中给出这个,我会得到一个异常(说这已经被绑定了)。
我必须放置相同的端口,因为协议定义不应多播响应。