次のシナリオが可能かどうかは正確にはわかりません。
UdpClient または Udp Socket のみを使用して、1 つのパブリッシャーと複数のクライアント環境を実現したいと考えています。
Udp サーバーは、インターネットを介して、隔離されたマシンでブロードキャストしています。1 つまたは複数のクライアントが必要に応じて「購読」または「購読解除」し、ブロードキャストを受信します。
可能ですか?ありがとう。
編集:もしそうなら、回答者は詳しく説明できますか?
編集: サブスクライバーを追跡せずに可能ですか?
追加情報:
既存のクライアント コード:
IPEndPoint IPEP = new IPEndPoint(IPAddress.Parse("EXTERNAL IP"), PORT);
UdpClient UC = new UdpClient();
byte[] REZ;
while (true)
{
REZ = UC.Receive(ref IPEP);
Console.WriteLine("REC: " + Encoding.ASCII.GetString(REZ));
}
サーバーもそんなにシンプルにできますか?何か不足していますか?
追加情報: 実際の外部 IP を使用すると、次のエラーが表示されます: この操作を実行する前に Bind メソッドを呼び出す必要があります。