Программируемые строки в эмуляторе терминала Debian GNOME

UDP - протокол без подключения. Не Connect. Вместо этого вы просто передаете пакеты данных. Кроме того, когда вы используете UdpClient, не выкапывайте его в базовый сокет. Нет смысла.

Самый простой (и довольно глупый) UDP-прослушиватель будет выглядеть примерно так:

var listener = new UdpClient(54323, AddressFamily.InterNetwork);

var ep = default(IPEndPoint);

while (!done)
{
    var data = listener.Receive(ref ep);

    // Process the data
}

Выполнение всего файла вокруг ExclusiveAddressUseSocketOptionName.ReuseAddress) только служит, чтобы скрыть проблемы от вас. Если вы не используете широковещательную или многостраничную трансляцию, только один из UDP-слушателей на этом порту получит сообщение. Это обычно плохо.

Если этот простой код не работает, проверьте трубопровод. Брандмауэры, IP-адреса, драйверы и т. Д. Установите WireShark и убедитесь, что пакеты UDP на самом деле идут - это может быть ошибка устройства, это может быть неправильная конфигурация.

Кроме того, в идеале вы хотите сделать все это асинхронно. Если у вас есть .NET 4.5, это на самом деле довольно просто.

0
задан Veky 25 February 2015 в 14:33
поделиться