我目前正在开发一个简单的服务器应用程序,它也应该支持 IPv6。IPv6 在 Windows 上运行良好(使用 MSVC2010),但在 Linux 上却不行。
想象以下代码:
boost::system::error_code ec;
std::string address="::1", service="http";
tcp::resolver resolver(io_service);
tcp::resolver::query query(address, service);
tcp::resolver::iterator resiter = resolver.resolve(query, ec);
if (ec)
std::cout << "Cannot resolve address: " << address << "(" << ec.message() << ")" << std::endl;
Linux 上打印的错误消息是“找不到主机(权威)”,而它在 Windows 上有效。
欢迎任何提示。