Размер буферизованных данных в сокете Linux - PullRequest
3 голосов
/ 31 июля 2010

Есть ли какие-нибудь простые функции для проверки того, сколько данных буферизировано, но не прочитано? FD_ISSET указывает только на наличие данных в буфере. Возможно ли не создать второй буфер в программе для большего контроля над буфером?

1 Ответ

6 голосов
/ 31 июля 2010

Вы можете использовать recv() с флагами MSG_PEEK и MSG_DONTWAIT, но нет твердой гарантии, что не будет больше доступных байтов, чем recv(), возвращаемое в этом случае.

Использование буфера в вашей программе - это нормальный и приемлемый способ решения проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...