我已经建立了一个UDP套接字:
receiveSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
然后我修改套接字参数以使用大于默认值的缓冲区(例如100,000字节):
bufferSize = 100000;
bufferSizeLen = sizeof(bufferSize);
setsockopt(receiveSocket, SOL_SOCKET, SO_RCVBUF, (char *) &bufferSize, bufferSizeLen);
稍后,我想查询套接字以找出当前存储在缓冲区中的数据量(即,通过调用recv()
等待检索多少数据报)。有没有办法做到这一点?
答案 0 :(得分:2)
使用ioctlsocket()
选项致电FIONREAD
。