标签: linux sockets buffer
是否有任何简单的函数可以检查缓冲但未读取的数据量? FD_ISSET仅指示缓冲区中是否存在数据。有可能不在程序中创建第二个缓冲区来更好地控制缓冲区吗?
答案 0 :(得分:6)
您可以将recv()与MSG_PEEK和MSG_DONTWAIT标记一起使用,但没有确切的保证 字节的可用字数不超过{{1在那种情况下返回。
recv()
MSG_PEEK
MSG_DONTWAIT
在程序中使用缓冲区是解决问题的正常方法。