Можно прослушать более одного приложения на одном и том же Udp-порту 514 [duplicate]

В вашем локальном репозитории вы можете установить свою банку, выпустив команды

 mvn install:install-file -Dfile= -DgroupId= \
-DartifactId= -Dversion= -Dpackaging=

Следуйте этой полезной ссылке , чтобы сделать то же самое с сайта mkyoung. Вы также можете проверить руководство maven для того же

1
задан GroomedGorilla 23 June 2014 в 11:32
поделиться

2 ответа

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, это на самом деле довольно просто.

4
ответ дан Luaan 25 August 2018 в 13:17
поделиться

Если вы используете это в Windows Vista или за его пределами, это, вероятно, UAC. Он может спокойно предотвращать работу сокетов. Если вы выключите уровень UAC, он не только заблокирует сокет.

1
ответ дан Andrew 25 August 2018 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: