Задать вопрос
@luaPower

Как узнать максимальный размер данных доступных для записи в сокет?

Здравствуйте.

Допустим, сокет находится в неблокирующем режиме.
Как узнать количество байтов в буфере сокета доступных для записи новых данных?
Так, чтобы вызов send не вернул ошибки EAGAIN или EWOULDBLOCK.

Спасибо!
  • Вопрос задан
  • 175 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Специалист по информационной безопасности + ML и нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Системный администратор
    6 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
XXXXPro
@XXXXPro
Fullstack Web developer
В Linux напрямую — никак. Можно получить размер буфера через getsockopt и получить количество неотправленных данных через ioctl(socket,SIOCOUTQ), а потом вычесть одно из другого.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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