是否可以使用c ++读取Linux中udp套接字缓冲区中缓冲的字节数?不幸的是,FIONREAD无法在linux下做到这一点。
答案 0 :(得分:1)
排序。您可以获取当前数据报的可用字节数。当您致电recvfrom
时,请将MSG_PEEK
标志传递给它。这将使数据报保持不变,但允许您查看数据并获取可用的字节数。
recvfrom(socket, buffer, size, MSG_PEEK, &address, &address_len);
答案 1 :(得分:1)
如果您使用的是recv
或recvfrom
,则可以通过将flags
设置为MSG_PEEK
来完成此操作。
如果您正在使用其他方法从套接字中读取,请告诉我,我会看到我能找到的内容。