Error

C++博客 首页 新随笔 联系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

直白点说,就是对getaddrinfo()这个函数的适配。抽象点说就是解析器。

细节如下:

boost::asio::ip::tcp::resolver resolver(asioService);
boost::asio::ip::tcp::resolver::query queryEndpoints(boost::asio::ip::host_name(),"80");
boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(queryEndpoints);
;
for(boost::asio::ip::tcp::resolver::iterator iterNull;
    endpoint_iterator != iterNull;
    endpoint_iterator++)
{
    std::cout << endpoint_iterator->endpoint() << std::endl;
}

 

上面的代码有这么几个类型:

boost::asio::ip::tcp::resolver

boost::asio::ip::tcp::resolver::query

boost::asio::ip::tcp::resolver::iterator

 

resolver抽线的是getaddrinfo()动作

boost::asio::ip::tcp::resolver::query抽象的是getaddrinfo()需要的参数

boost::asio::ip::tcp::resolver::iterator抽象的是getaddrinfo()的结果

这整个体系是抽象winsock sdk到stl思想

posted on 2012-11-07 13:52 Enic 阅读(2099) 评论(1)  编辑 收藏 引用 所属分类: boost::asio

评论

# re: 3.boost::asio::ip::tcp::resolver的故事 2014-03-25 09:47 Bing
说得好 寥寥几句 窥其精髓  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理