【问题标题】:Linux socket buffered data sizeLinux 套接字缓冲数据大小
【发布时间】:2010-07-31 04:00:41
【问题描述】:

是否有任何简单的函数来检查有多少数据被缓冲但未读? FD_ISSET 仅表示缓冲区中存在数据。是否可以不在程序中创建第二个缓冲区以更好地控制缓冲区?

【问题讨论】:

    标签: linux sockets buffer


    【解决方案1】:

    您可以将recv()MSG_PEEKMSG_DONTWAIT 标志一起使用,但不能保证在这种情况下返回的可用字节数不超过recv() /p>

    在程序中使用缓冲区是解决问题的正常且公认的方法。

    【讨论】:

    • 这很有帮助!虽然 peek 又移动了一次数据,但它让我快速测试了系统缓冲区的使用情况。我决定创建一个线程将数据从系统缓冲区移动到程序缓冲区。
    猜你喜欢
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2015-04-16
    • 2011-11-15
    • 1970-01-01
    相关资源
    最近更新 更多