Почему broadcast сообщение приходит 3 раза?
посылаю один раз на 255.255.255.255 (INADDR_BROADCAST), сервер регистрирут 3 приема
а если на 192.168.1.255, то нормально, приходит один раз
По трем адаптерам уходит? )
по идее если адрес отправителя 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 )
UDP-сообщения имеют право приходить несколько раз.
GLEB
> адаптеров 2, моя сетевая и модем
Откуда куда отправляешь? На своем компе тестишь и прием и отправку?
>Откуда куда отправляешь? На своем компе тестишь и прием и отправку?
ну пока да, отправляю на 255.255.255.255, на этом же узле ловлю, мне же приходит аж 3 раза друг за другом последовательно, сколько раз приходит другим узлам пока не проверял
Дык прально, у тя ловится сетевухой, модемом и loopback'ом.
что-то не понял как может ловить модем и 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?
GLEB
Отключи один из интерфейсов и повтори эксперимент. Алсо чем ловишь, Wireshark'ом?
GLEB
"Я отправляю один раз с 192.168.10.1 "
А как ты прибиндил сокет именно на 192.168.10.1 ?
Обычно делают на INADDR_ANY - тогда твой сокет создётся на всех твоих интерфейсах на том порту, который ты указал. Вот тебе и отправка 3-х сообщений.
KpeHDeJIb
>Алсо чем ловишь, Wireshark'ом?
recvfrom
Altair
KpeHDeJIb
SergK
Вы правы, если забиндить сервер не на INADDR_ANY, а на 192.168.10.1 то он регистрирует прием одни раз )))
Всем спасибо )
Тема в архиве.