Устанавливает соединение сокетов, пробуя каждую конечную точку в последовательности.
template<
typename Protocol,
typename SocketService,
typename Iterator>
Iterator connect(
basic_socket< Protocol, SocketService > & s,
Iterator begin,
boost::system::error_code & ec);
Эта функция пытается подключить сокет к одной из последовательности конечных точек. Он делает это путем повторных вызовов функции элемента сокета<connect
>, один раз для каждой конечной точки в последовательности, пока соединение не будет успешно установлено.
- s
Сокет должен быть подключен. Если розетка уже открыта, она будет закрыта.
- begin
Итератор, указывающий на начало последовательности конечных точек.
- ec
Установить, какая ошибка произошла, если таковая имеется. Если последовательность пуста, установите<boost::asio::error::not_found
>. В противном случае, содержит ошибку с последней попытки соединения.
В случае успеха итератор обозначает успешно подключенную конечную точку. В противном случае - конечный итератор.
Эта перегрузка предполагает, что построенный по умолчанию объект типа<Iterator
>представляет собой конец последовательности. Это верное предположение для типов итераторов, таких как<boost::asio::ip::tcp::resolver::iterator
>.
tcp::resolver r(io_service);
tcp::resolver::query q("host", "service");
tcp::socket s(io_service);
boost::system::error_code ec;
boost::asio::connect(s, r.resolve(q), ec);
if (ec)
{
}