有没有简单的函数来检查有多少数据被缓冲但未读?fd-isset仅指示缓冲区中存在数据。是否可能不在程序中创建第二个缓冲区以更好地控制缓冲区?
你可以使用 recv() 与 MSG_PEEK 和 MSG_DONTWAIT 但没有坚定的保证 更多 可用字节数 记录() 在这种情况下返回。
recv()
MSG_PEEK
MSG_DONTWAIT
记录()
在程序中使用缓冲区是解决问题的正常且可接受的方法。