Конференция "Сети" » UDPv4-бродкаст на 127.0.0.1
 
  • Anatoly Podgoretsky © (14.08.12 13:09) [20]
    > brother  (14.08.2012 12:51:18)  [18]

    Этого не может быть по теории, минимум три адреса - network, broadcast и 1/2
    клиентских адреса
  • ProgRAMmer Dimonych © (14.08.12 13:25) [21]
    > [19] Anatoly Podgoretsky ©   (14.08.12 13:08)
    > > ProgRAMmer Dimonych  (14.08.2012 12:36:17)  [17]
    > Правильно, именно это следует из маршрута.
    > Сомневаюсь, что бродкаст не работает для loopback-адресов,
    > не зря же они
    > сделали маршрут?

    Логично. Но как тогда можно интерпретировать ошибку 10049 на sendto()? Меняется только IP-адрес, на 255.255.255.255 всё работает.
  • brother © (14.08.12 13:26) [22]
    > минимум три адреса - network, broadcast и 1/2

    чуть погорячился, но

    > Сомневаюсь, что бродкаст не работает для loopback-адресов

    у меня как раз вызывает сомнения, ибо

    > не зря же они
    > сделали маршрут?

    вот именно, это заглушка, чтобы других отсечь!
  • brother © (14.08.12 13:29) [23]
    Дмитрий, может не стоит использовать лупбэк интерфейс, и попробовать заморочиться с виртуальным? я так понимаю, это надо, для того, чтобы процессы смогли общаться меж собой и только?
  • brother © (14.08.12 13:31) [24]
    один интерфейс может иметь айпи нескольких разных подсетей...
  • ProgRAMmer Dimonych © (14.08.12 13:46) [25]
    > [23] brother ©   (14.08.12 13:29)
    > Дмитрий, может не стоит использовать лупбэк интерфейс, и
    > попробовать заморочиться с виртуальным? я так понимаю, это
    > надо, для того, чтобы процессы смогли общаться меж собой
    > и только?

    Да, в принципе, только для этого. Можно подробнее про идею с виртуальным интерфейсом? Ссылки по теме, если таковые будут, приветствуются.
  • Anatoly Podgoretsky © (14.08.12 13:57) [26]
    > ProgRAMmer Dimonych  (14.08.2012 13:46:25)  [25]

    Поиск говорит это

    Question/Problem: WSAEADDRNOTAVAIL (10049) Cannot assign requested address.

    Answer/Solution:  Normally results from an attempt to create a socket with
    an address not on this machine.

    WinSock description:  The "address" it refers to is the remote socket name
    (protocol, port and address). This error occurs when the sin_port value is
    zero in a sockaddr_in structure for connect or sendto.

    This error also occurs when you are trying to name the local socket (assign
    local address and port number) with bind, but Windows Sockets doesn't
    ascribe this error to bind, for some unknown reason.
  • brother © (14.08.12 14:20) [27]
    я имел ввиду задать в настройках TCP/IP второй IP-адрес (из якобы другой подсети)
  • Anatoly Podgoretsky © (14.08.12 14:40) [28]
    И не надо ставить вторую плату. К тому же поток не пойдет в сетью
  • ProgRAMmer Dimonych © (14.08.12 14:48) [29]
    > [26] Anatoly Podgoretsky ©   (14.08.12 13:57)

    Отсюда можно предположить, что эта ошибка связана только с номером порта, но не с адресом. Между тем, ошибка проявляется при изменении только IP-адреса, передаваемого sendto(). Откуда и вопрос о совместимости бродкаста и loopback'а. Вот, кстати, похожая история:

    http://stackoverflow.com/questions/2143531/problem-recieving-udp-packets-send-to-127-0-0-1-when-using-so-reuseaddr
  • ProgRAMmer Dimonych © (14.08.12 14:49) [30]
    > [27] brother ©   (14.08.12 14:20)
    > я имел ввиду задать в настройках TCP/IP второй IP-адрес
    > (из якобы другой подсети)

    Менять настройки пользователя - моветон :(
  • brother © (14.08.12 14:52) [31]
    вообще - дополнять, он и не узнает ;)
  • Сергей М. © (14.08.12 15:14) [32]

    > 1. Посылаю на 255.255.255.255 - датараммы приходят ко всем
    > процессам на локальном компьютере плюс уходят в сеть.


    Не всем, а только тем которые забиндили свои сокеты хотя бы на один из [127.0.0.1, 192.168.0.97, 10.0.0.1], судя по конфигу и маршрутам.

    А уходят в сеть потому что метрика у бродкаст-маршрута для лупбеков больше чем метрика у остальных одноуровневых бродкаст-маршрутов. Метрика - это же приоритет, чем она меньше, тем маршрут приоритетнее
  • ProgRAMmer Dimonych © (14.08.12 15:20) [33]
    > [32] Сергей М. ©   (14.08.12 15:14)
    > > 1. Посылаю на 255.255.255.255 - датараммы приходят ко всем
    > > процессам на локальном компьютере плюс уходят в сеть.
    > Не всем, а только тем которые забиндили свои сокеты хотя
    > бы на один из [127.0.0.1, 192.168.0.97, 10.0.0.1], судя
    > по конфигу и маршрутам.
    >
    > А уходят в сеть потому что метрика у бродкаст-маршрута для
    > лупбеков больше чем метрика у остальных одноуровневых бродкаст-
    > маршрутов. Метрика - это же приоритет, чем она меньше, тем
    > маршрут приоритетнее

    Суть в том, что любой желающий получит. А желающих - на каждом компе. Пока сделал отсев по адресу отправителя, но как-то некрасиво, кажется.
  • Anatoly Podgoretsky © (14.08.12 15:36) [34]
    > ProgRAMmer Dimonych  (14.08.2012 14:49:30)  [30]

    Это не настройка пользователся, а администратора, пользователь не админ не
    имеет прав на это.
  • ProgRAMmer Dimonych © (14.08.12 15:55) [35]
    > [34] Anatoly Podgoretsky ©   (14.08.12 15:36)

    Тем, соответственно, веселее.
  • Сергей М. © (14.08.12 20:46) [36]

    > любой желающий получит


    Не любой желающий, а только тот маршрут до которого фигурирует (и фактически использован) в таблице маршрутов хоста-отправителя.
 
Конференция "Сети" » UDPv4-бродкаст на 127.0.0.1
Есть новые Нет новых   [134435   +19][b:0][p:0.001]