Как узнать максимальный размер данных доступных для записи в сокет?
Здравствуйте.
Допустим, сокет находится в неблокирующем режиме.
Как узнать количество байтов в буфере сокета доступных для записи новых данных?
Так, чтобы вызов send не вернул ошибки EAGAIN или EWOULDBLOCK.
В Linux напрямую — никак. Можно получить размер буфера через getsockopt и получить количество неотправленных данных через ioctl(socket,SIOCOUTQ), а потом вычесть одно из другого.