Как мне проверить, сколько доступных символов находится в буфере в дескрипторе файла сокета?
Я хочу отложить чтение байтов из сокета до тех пор, пока не будет доступно не менее 8 байтов (для длины следующего сообщение). Я использую select()
для ожидания входящих данных. Когда вызывается обработчик чтения для сокета, я хочу, чтобы он просто возвращался без чтения, если доступно менее 8 байт.
Будет ли сокет когда-либо доступен для чтения, но только для менее 8 байтов?
Существует ли системный вызов Linux, который может получить, сколько байтов доступно для чтения из сокета, не читая их на самом деле?