У меня есть сервер, который получает непрерывный поток данных. В отличие от чтения нескольких раз из сокета, я хотел бы прочитать все данные в буфере приема сокета с одним системным вызовом read()
.
Конечно, я могу передать большой буфер, а read()
попытается заполнить его всеми доступными данными. Но это потеряло бы большую часть памяти, поскольку в большинстве случаев буфер malloc'ed был бы больше, чем фактические данные, доступные в сокете. Есть ли способ запросить доступные данные в сокете?