2
我有一個本地網絡接口: 127.0.0.1, 192.168.0.73如何向控制檯輸出可用本地接口的所有地址?
如果我使用下面的代碼:
std::string local_address = "";
std::string local_port= "80";
boost::asio::ip::tcp::resolver resolver(io_service_executors_);
ba::ip::tcp::resolver::query query(local_address, local_port);
local_endpoint_it_ = resolver.resolve(query);
for(auto it = local_endpoint_it_; it != ba::ip::tcp::resolver::iterator(); ++it)
std::cout << it->endpoint() << std::endl;
當local_address
= ""
,我只能看到:
[:: 1]:80,
127.0.0.1:80
當local_address
= "0.0.0.0"
,我只看到:
0.0.0.0:80
當local_address
= "192.168.0.73"
,我看到:
192.168.0.73:80
我如何得到我的本地接口的所有地址,如果在這個時候,我不知道他們的地址?
一個例子輸出必須是:
127.0.0.1:80,
192.168.0.73:80
and may be [:: 1]: 80
@John Zwinck謝謝!可以通過使用boost :: asio來完成(跨平臺和通常的一點點更友好的界面)? – Alex
五年前人們也想要同樣的東西,但似乎沒有任何改變:http://comments.gmane.org/gmane.comp.lib.boost.asio.user/2449 –