私は現在、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 では機能します。
どんなヒントでも大歓迎です。