【问题标题】:How much data can a socket store in its buffer before read?套接字在读取之前可以在其缓冲区中存储多少数据?
【发布时间】:2013-01-07 03:53:13
【问题描述】:

我有一个客户端/服务器应用程序,客户端将消息发送到服务器。由于我使用的遗留库,我的服务器无法立即读取,但必须等待条件成真,直到它读取消息。一个套接字可以存储多少数据?是否有固定的缓冲区大小/限制?

谢谢。

【问题讨论】:

    标签: sockets networking client-server


    【解决方案1】:

    这取决于套接字接收缓冲区的大小,其默认值因操作系统而异。您可以通过setsockopt() 和 SO_RCVBUFSIZE 选项从您的应用程序中控制它。

    【讨论】:

    • 这几乎是我的预期,但由于某种原因找不到正确的信息:/。谢谢。
    【解决方案2】:

    这取决于许多您无法控制的因素。这不是正确的做法。

    您应该尽快读取数据,但只有在满足条件时才处理它。

    编辑:我想我误解了这个问题,请参阅@EJP 的回答。

    【讨论】:

    • 这完全取决于您可以控制的一个因素。 -1
    猜你喜欢
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    相关资源
    最近更新 更多