Когда сокет сигнализирует о том, что с помощью вызова на select()
все в порядке, как я могу узнать, сколько данных я могу отправить без блокировки? (В случае полных буферов отправки и т. Д.)
Означает ли включение в набор, возвращаемый select()
, что сокет готов как минимум для одного байта данных и будет send()
затем возвращать небольшое количество записанных байтов?
Или блокируется, когда я вызываю send()
с параметром len
, который больше доступного пространства буфера? Если да, то как узнать максимальную сумму?
Я использую обычные сокеты C в Linux.