Задать вопрос
@4ebyanka

Какие ошибки в неблокируемом сокете не приводят к его закрытию?

Какие ошибки неблокируемого сокета можно игнорировать в сетевом программировании
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Какие ошибки в неблокируемом сокете не приводят к его закрытию?
Какие ошибки неблокируемого сокета можно игнорировать в сетевом программировании

Вообще это два разных вопроса. Никакие ошибки не приводят к закрытию сокета, закрыть его можно только явно вызвав close.
Игнорировать ошибки тоже не стоит, потому что они говорят о том, что случилось с данными переданными в send или полученными из recv. А именно, EAGAIN / EWOULDBLOCK говорят о том, что данные не были посланы или приняты, но с сокетом и с соединением (если есть) всё нормально. Кроме того, send и recv возвращают количество реально отправленных/полученных данных, и оно может быть меньше, чем было запрошено. Это не ошибка, а нормальная ситуация, её обязательно надо обрабатывать правильно.
Почти все остальные ошибки говорят о том, что соединение оборвано и сокет остаётся только закрыть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы