【发布时间】:2014-04-14 20:59:48
【问题描述】:
在我的电脑(Surface Pro 2)上,只有一个网卡, 它是一个无线 LAN 适配器。
我从事过一个小型 C++ 项目,它使用 boost::asio 连接到 localhost 并做它的工作,一切都很好。
但今天我发现如果我断开 WLAN 与 Internet 的连接, 这个程序不起作用。
boost::asio的解析器会抛出异常:
tcp::resolver::query query("localhost", "10127");
tcp::resolver resolver(io_service_);
tcp::resolver::iterator iterator;
try {
iterator = resolver.resolve(query);
}
catch (boost::system::system_error& e) {
log(e.what());
}
错误信息是:请求的名称有效但没有数据 找到了请求的类型。
Ping 到 localhost 没问题。
我很疑惑,本地网络程序需要互联网吗? 本地网络程序是否需要 LAN 适配器? 为什么 ping 可以正常工作?
【问题讨论】:
标签: c++ boost network-programming boost-asio wifi