Принять данные через UDP протокол - C#

Узнай цену своей работы

Формулировка задачи:

Два дня смотрел что к чему в интернете, но так и понял что к чему. А может и понял, но роутерне пропускает пакеты, хотя вроде порт настроил. Задача простая с андроид устройства отправлять команды в виде строки string длиной около 10-20 байт. На компе надо принять сию посылку и для начала просто вывести в консоль. К примеру принять команду от программы iptv remote на андроиде. Вроде все просто но на деле как то плохенько, точнее вообще никак. Прошу помощи. Нужен самый примитивный вариант, чтоб понять смысл. Заранее спасибо.
Нашел нормальный рабочий пример. http://msdn.microsoft.com/en-us/library/tst0kwb1(v=vs.110).aspx
Теперь другой вопрос, но по той же теме.
UdpClient listener = new UdpClient(listenPort);
IPAddress ip = IPAddress.Parse("0.0.0.0");
IPEndPoint groupEP = new IPEndPoint(ip, listenPort);
....
byte[] bytes = listener.Receive(ref groupEP);
Что есть IPEndPoint ? Как я понимаю это точка, грубо говоря, которая представляет конкретный порт и адрес на данном компе. то есть указав
IPEndPoint groupEP = new IPEndPoint(IPAddress.Any, listenPort);
Мы говорим UDPКлиенту что слушать нужно на всех возможных сетевых интерфейсах. Но если указать конкретный адрес, хоть "0.0.0.0", как в примере выше, то пакеты все равно принимаются. Или в случае прослушивая порта в IPEndPoint имеет значение только порт? Или это уместно только для UDP ? Как я понимаю, должно работать или с локальным адресом "127,0,0,1" или с существующим адресом одной из сетевых карт.

Решение задачи: «Принять данные через UDP протокол»

textual
Листинг программы
 IPEndPoint localPoint = new IPEndPoint(DoGetHostAdresses(Dns.GetHostName()), port);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы