是否可以读取Linux c ++中udp套接字缓冲区中缓冲了多少字节?

时间:2013-04-20 13:26:03

标签: c++ linux

是否可以使用c ++读取Linux中udp套接字缓冲区中缓冲的字节数?不幸的是,FIONREAD无法在linux下做到这一点。

2 个答案:

答案 0 :(得分:1)

排序。您可以获取当前数据报的可用字节数。当您致电recvfrom时,请将MSG_PEEK标志传递给它。这将使数据报保持不变,但允许您查看数据并获取可用的字节数。

recvfrom(socket, buffer, size, MSG_PEEK, &address, &address_len);

答案 1 :(得分:1)

如果您使用的是recvrecvfrom,则可以通过将flags设置为MSG_PEEK来完成此操作。

如果您正在使用其他方法从套接字中读取,请告诉我,我会看到我能找到的内容。