簡體   English   中英

boost :: asio :: ip :: tcp :: resolver :: iterator有什么作用?

[英]What does boost::asio::ip::tcp::resolver::iterator do?

我開始使用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);
}

如果我的問題沒有提供足夠的信息,請幫助我並原諒我。

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);
}

正在嘗試與每個端點建立連接,直到它成功或用完端點(感謝您對Eugen Constantin Dinca進行校正)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM