boost::asio::ip::tcp::resolver的故事
2016-12-24 15:17
260 查看
出处:http://www.cppblog.com/Error/archive/2012/11/07/194839.html?opt=admin
直白点说,就是对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思想
直白点说,就是对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思想
相关文章推荐
- Boost asio的async_write函数输入日志标题
- boost asio学习笔记 [1] - 同步通讯
- boost_asio学习笔记[2] - 客户端异步通讯
- Boost.Asio使用入门
- [网络开发]boost::asio简介
- C++ Boost asio库网络通信 [同/异步] 笔记
- C++ Boost库 asio同步/异步模式[ 定时器来体现 ] 笔记
- Boost::asio io_service
- 整理socket编程<二>:boost::asio实现异步服务器
- asio测试
- 用socket(asio)实现了smtp的几个简单的指令
- Boost.asio 一些注意事项
- boost::asio网络传输错误码的一些实验结果(recv error_code )
- 关于boost::asio::read_until()之后再boost::asio::read()可能出现的问题
- boost asio异步通信
- Boost中ASIO的一些用法-定时器
- Asio驱动开发学习笔记(2)
- Asio驱动开发学习笔记(3)
- ASIO网络库-Client