Я только начал читать информацию о многоадресных передачах, используя boost :: asio, и меня несколько озадачило следующее:
Зачем нам нужен «адрес прослушивания» в следующем примере boost :: asio? Какой в этом смысл? Почему нужно выбрать что-то отличное от localhost?
http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/example/multicast/receiver.cpp
Указание прослушиваемого IP-адреса необходимо, если у вас более одной сетевой карты (каждый сетевой адаптер связан с другим IP-адресом).
Когда вы работаете дома на своем ноутбуке, вам, вероятно, все равно. Основная цель, как правило, заключается в том, чтобы подключить что-либо ко всему, что нужно в вашей машине, в этом случае localhost
просто отлично.
Высококачественные серверы, с другой стороны, обычно имеют более одной сетевой карты. Более того, высокопроизводительные сетевые карты часто имеют более одного физического разъема, и обе они могут быть активны с разными арендами DHCP.
Серверы также часто будут частью государственные и частные сети, который может включать или не включать VPN которая имеет свою собственную подсеть и параметры доступности. Сисадмины много думают об этих адресах, и им все равно глубоко о каком конкретном адресе доступна каждая услуга. Это частный сервис? Есть ли недоверенная подсеть, которая не должна делать эти запросы?
Эти вопросы охватывают как безопасность и организация системы проблемы. Это не характерно для многоадресной рассылки: UNIX bind
системный вызов также принимает конкретный адрес по всем вышеуказанным причинам.