клиентский сервер c # udp в том же приложении, отфильтровывающий данные, отправленные из локального приложения - PullRequest
0 голосов
/ 04 июня 2018

У меня есть клиент-серверное приложение, которое и прослушивает, и отправляет на один и тот же адрес / порт многоадресной рассылки.Проблема в том, что я получу петлю при отправке данных.

UdpClient client = new UdpClient();

client.ExclusiveAddressUse = false;
IPEndPoint localEp = new IPEndPoint(IPAddress.Any, 62255);

client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
client.ExclusiveAddressUse = false;

client.Client.Bind(localEp);

IPAddress multicastaddress = IPAddress.Parse("239.10.4.1");
client.JoinMulticastGroup(multicastaddress);
IPEndPoint remoteep = new IPEndPoint(multicastaddress, 62255);

while (true)
{
    Byte[] buffer = client.Receive(ref localEp);

    string msgString = "test";
    byte[] buffer2 = Encoding.Unicode.GetBytes(msgString);
    client.Send(buffer2, buffer2.Length, remoteep);
}

Я пытался использовать localEp.Address.ToString() для фильтрации того, что отправлено из локального приложения, но когда я пытался на одном компьютере с несколькими NIC Я все еще получаю локальные сообщения.Есть ли другие способы сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...