Boost asio UDP-сокет получает ошибку «Сеть недоступна». оно подлежит восстановлению?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Boost asio UDP-сокет получает ошибку «Сеть недоступна». оно подлежит восстановлению?

Сообщение Anonymous »

Я использую оболочку Boost сокета UDP для связи с удаленным сервером. Вот процесс инициализации этого сокета (для удобства чтения опущена обработка ошибок).

Код: Выделить всё

std::shared_ptr socket

socket = std::make_shared(ioctx);

socket->open(boost::asio::ip::udp::v4(), ec);

boost::asio::ip::address server = boost::asio::ip::make_address(
server_ip, ec);

boost::asio::ip::udp::endpoint endpoint(server, port);

socket->connect(endpoint);
После инициализации я считываю данные из сокета и в некоторых редких случаях вижу код ошибки «Сеть недоступна», который не является частью системного вызова сокета Recv.

Код: Выделить всё

auto bytes = socket->receive(
boost::asio::buffer(packet->get_pkt(),
packet->get_buffer_size()),
0,
-->          ec);
Поэтому мне интересно, добавит ли библиотека Boost эту ошибку в оболочку, и могу ли я продолжать использовать этот сокет или мне придется заново создавать соединение.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/784 ... ecoverable
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»