Войти
ПрограммированиеФорумСеть

UDP Broadcast

#0
18:20, 20 сен. 2009

Почему broadcast сообщение приходит 3 раза?

посылаю один раз на 255.255.255.255 (INADDR_BROADCAST), сервер регистрирут 3 приема

а если на 192.168.1.255, то нормально, приходит один раз


#1
18:22, 20 сен. 2009

По трем адаптерам уходит? )

#2
19:22, 20 сен. 2009

по идее если адрес отправителя 192.168.1.1, то отправка на 255.255.255.255 и на 192.168.1.255 должна быть аналогичной, пакет должны получить все узлы подсети с номером 1, исходя из http://ru.wikipedia.org/wiki/IP-адрес#.D0.9E.D1.81.D0.BE.D0.B1.D1… 5.D1.81.D0.B0

>По трем адаптерам уходит? )
адаптеров 2, моя сетевая и модем, на локалке с несколькими узлами пока не тестил, просто посылаю сообшение и отслеживаю что приходит мне самому, ошибок в коде быть не может, так как код, копипаст из Quake2 )

#3
22:40, 20 сен. 2009

UDP-сообщения имеют право приходить несколько раз.

#4
0:33, 21 сен. 2009

GLEB
> адаптеров 2, моя сетевая и модем
Откуда куда отправляешь? На своем компе тестишь и прием и отправку?

#5
17:13, 22 сен. 2009

>Откуда куда отправляешь? На своем компе тестишь и прием и отправку?
ну пока да, отправляю на 255.255.255.255, на этом же узле ловлю, мне же приходит аж 3 раза друг за другом последовательно, сколько раз приходит другим узлам пока не проверял

#6
19:00, 22 сен. 2009

Дык прально, у тя ловится сетевухой, модемом и loopback'ом.

#7
21:50, 23 сен. 2009

что-то не понял как может ловить модем и loopback

Сетевуха 192.168.10.1
Модем 192.168.2.1
Loopback 127.0.0.1

подсети разные

>если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast);

>>Дык прально, у тя ловится сетевухой, модемом и loopback'ом.
даже если так, то исходя их сказанного выше придет только в подсеть 192.168.10.1
Разве нет?

Я отправляю один раз с 192.168.10.1 и мне же приходит три раза с 192.168.10.1, причем тут модем и loopback?

#8
0:45, 24 сен. 2009

GLEB
Отключи один из интерфейсов и повтори эксперимент. Алсо чем ловишь, Wireshark'ом?

#9
12:51, 24 сен. 2009

GLEB
"Я отправляю один раз с 192.168.10.1 "

А как ты прибиндил сокет именно на 192.168.10.1 ?
Обычно делают на INADDR_ANY - тогда твой сокет создётся на всех твоих интерфейсах на том порту, который ты указал. Вот тебе и отправка 3-х сообщений.

#10
20:57, 24 сен. 2009

KpeHDeJIb
>Алсо чем ловишь, Wireshark'ом?

recvfrom

Altair
KpeHDeJIb
SergK
Вы правы, если забиндить сервер не на INADDR_ANY, а на 192.168.10.1 то он регистрирует прием одни раз )))

Всем спасибо )

ПрограммированиеФорумСеть

Тема в архиве.