我剛開始閱讀有關使用boost :: ASIO組播傳輸的信息和我有點不解以下幾點:的boost :: ASIO組播例如
爲什麼我們在下面需要一個「監聽地址」 boost :: asio示例?那有什麼意義呢?爲什麼會選擇與本地主機不同的東西?
http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/example/multicast/receiver.cpp
我剛開始閱讀有關使用boost :: ASIO組播傳輸的信息和我有點不解以下幾點:的boost :: ASIO組播例如
爲什麼我們在下面需要一個「監聽地址」 boost :: asio示例?那有什麼意義呢?爲什麼會選擇與本地主機不同的東西?
http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/example/multicast/receiver.cpp
指定監聽的IP地址是必要的,當你有一個以上的網絡接口卡(NIC每個綁定到不同的IP地址)。
當你在家裏你的筆記本電腦工作,你可能不關心。主要目標通常是將任何東西連接到機器內的任何東西,在這種情況下,localhost
就好了。
另一方面,高端服務器通常會有多個網卡。更好的是,高性能網卡通常具有多個物理插頭,並且它們都可以使用不同的DHCP租約來激活。
服務器也常常是公共和專用網絡,這可能會或可能不包括VPN有其自己的子網和可訪問性參數的一部分。系統管理員考慮了這些地址很多,他們關心的是深深的關於每個服務可用的具體地址。這是一項私人服務嗎?有沒有不應該提出這些請求的不受信任的子網?
這些問題涉及安全和系統組織兩個問題。它不是特定於多播:the UNIX bind
system call也由於上述所有原因需要特定的地址。