2013-09-21 6 views
3

Я видел, как некоторые говорят, что UDPSocket Broadcast to 127.255.255.255.UDP Broadcast Address 127.255.255.255

1) Что такого особенного в этом

127.*.*.*` network? 

2) Если у меня есть клиентские системы, которые не являются в этом 127.*.*.* сети, и я не знаю, что сеть они на то, что широковещательный адрес я должен использовать поэтому клиент может получить сообщение.

3) Во время широковещательной передачи UDP я предполагаю, что адрес сервера не важен, потому что это передача без установления соединения?

ответ

2
  1. 127.0.0.0/8 это специальный адресный блок, который зарезервирован для обратной петли на ту же машину, он никогда не должен быть адресом реального сетевого интерфейса. В частности, 127.0.0.1 является адресом по умолчанию localhost (см. Интерфейс lo0 на машине Unix).

  2. У вас никогда не должно быть клиентских систем в сети 127/8. Я не думаю, что 127.255.255.255 может быть предназначен для отправки в сеть, это должно быть только для отправки на локальный компьютер.

  3. При необходимости клиент может получить адрес сервера, когда получит ответ. Затем он может использовать это, чтобы поддерживать связь с этим сервером.

+0

на 3, как CLient узнает адрес сервера программным путем? – lilzz

+0

на 2, если сервер не знает, какой сетевой клиент тогда нет способа отправить широковещательное сообщение, где клиент может получить? – lilzz

+0

Вы можете отправлять трансляции только в свою локальную сеть, поэтому клиент должен находиться в одной сети. Вы получаете адрес своего сетевого адаптера и используете маску подсети для вычисления широковещательного адреса и отправляете на него. – Barmar

Смежные вопросы