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 の送信元ポートを指定する方法?
しかし、アドレスを排他的に使用する必要はありません。コンストラクターでこれを指定すると、例外が発生しました(これは既にバインドされていると言っています)。
プロトコルでは、応答をマルチキャストしてはならないことが定義されているため、同じポートを配置する必要があります。