Ham*_*ami 14 c++ boost boost-asio
我开始使用C++中的boost asio编程,在查看示例时,我无法理解它boost::asio::ip::tcp::resolver::iterator做了什么.
码:
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(argv[1]);
tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
tcp::resolver::iterator end;
tcp::socket socket(io_service);
boost::system::error_code error = boost::asio::error::host_not_found;
while (error && endpoint_iterator != end)
{
socket.close();
socket.connect(*endpoint_iterator++, error);
}
Run Code Online (Sandbox Code Playgroud)
如果我的问题没有提供足够的信息,请帮助我并原谅我.
Mar*_*lon 20
boost::asio::ip::tcp::resolver::iterator 遍历您指定的主机的地址列表(主机可以有多个地址).
就像std :: string :: iterator遍历其字符一样,boost :: asio :: ip :: tcp :: resolver :: iterator遍历其地址列表.
以下代码:
while (error && endpoint_iterator != end)
{
socket.close();
socket.connect(*endpoint_iterator++, error);
}
Run Code Online (Sandbox Code Playgroud)
正在尝试与每个端点建立连接,直到它成功或用完端点(感谢您对Eugen Constantin Dinca进行校正).
| 归档时间: |
|
| 查看次数: |
11038 次 |
| 最近记录: |