Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以使用 c++ 在 Linux 的 udp 套接字缓冲区中读取缓冲了多少字节?不幸的是,FIONREAD 在 linux 下无法做到这一点。
如果您正在使用recv,或者recvfrom这将通过设置flags为来完成MSG_PEEK。
recv
recvfrom
flags
MSG_PEEK
如果您使用另一种从套接字读取的方法,请告诉我,我会看看我能找到什么。
有点。您可以获得当前数据报可用的字节数。当你打电话recvfrom给它时,传递MSG_PEEK标志。这将使数据报保持完整,但允许您查看数据并获取可用字节数。
recvfrom(socket, buffer, size, MSG_PEEK, &address, &address_len);