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