【发布时间】:2016-09-24 09:11:26
【问题描述】:
我必须从套接字读取长度未知的数据。我需要等待特定的字符序列停止阅读。
一次只读取一个字节是个好主意吗?最大长度为 4096。我知道从套接字读取应该实现尽可能大的读取大小,但在我的情况下,当最大长度不长时,这是一个好的解决方案吗?
这样阅读的后果是什么?
缓冲区溢出?
【问题讨论】:
-
“一次只读取一个字节是个好主意吗?” 很可能不是。使用
select()或poll()循环并解除阻塞read(),一次读取尽可能多的可用字节并放入缓冲区。