Как сделать многоадресную передачу UDP через локальную сеть в c#?

Вот как вы можете создать массив JSON:

CREATE FIELD OutputRoot.JSON.Data.belongings IDENTITY(JSON.Array)belongings;
SET OutputRoot.JSON.Data.belongings.Item[1]=13;
SET OutputRoot.JSON.Data.belongings.Item[2]=8;
SET OutputRoot.JSON.Data.belongings.Item[3]=25;
SET OutputRoot.JSON.Data.belongings.Item[4]=6;
11
задан Simon 20 April 2009 в 07:11
поделиться

2 ответа

Поддерживает ли ваше оборудование локальной сети IGMP ?

Возможно, ваш коммутатор поддерживает многоадресную рассылку, но если IGMP отключен, он не заметит, подписывается ли подключенное оборудование в определенную группу многоадресной рассылки, чтобы они не пересылали эти пакеты.

Чтобы проверить это, временно подключите две машины напрямую вместе с помощью перекрестного кабеля. Это должно (AFAICR) всегда работать.

Кроме того,

8
ответ дан 3 December 2019 в 10:26
поделиться

I не может видеть TTL , указанный где-либо в коде. Помните, что TTL изначально должен был быть в секундах, но теперь он стал переходом в единицу измерения. Это означает, что, используя умный TTL, вы можете исключить прохождение через маршрутизатор. По умолчанию TTL на моей машине равен 32 - я думаю, этого более чем достаточно; но на самом деле ваш может быть другим (UdpClient.Ttl), если ваша система подвергалась какой-либо форме блокировки безопасности.

Я не могу порекомендовать вам нужный TTL - мне лично нужно провести много экспериментов.

Если это не сработает, вы можете прочитать следующие статьи:

В целом, похоже, что был успех с использованием сокетов, а не UdpClients .

Выбранная вами группа многоадресной рассылки также может быть локальной. Попробуйте другой.

Ваш физический сетевой уровень также может вызывать проблемы. Рискну поставить под вопрос переключатели и прямые (x-over) соединения. Хабы и все более умные должны справиться с ними нормально. Однако у меня нет литературы, подтверждающей это.

0
ответ дан 3 December 2019 в 10:26
поделиться
Другие вопросы по тегам:

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