Obtém o número de bytes disponíveis no socket por 'recv' com 'MSG_PEEK' em C ++

C ++ tem a seguinte função para receber bytes do socket, ele pode verificar o número de bytes disponíveis com oMSG_PEEK bandeira. ComMSG_PEEK, o valor retornado de 'recv' é o número de bytes disponíveis no soquete:

#include <sys/socket.h>
ssize_t recv(int socket, void *buffer, size_t length, int flags); 

Eu preciso obter o número de bytes disponíveis no soquete sem criarbuffer (sem alocar memória parabuffer). É possível e como?

questionAnswers(2)

yourAnswerToTheQuestion