使用QTcpSocket时是否需要缓冲区
Is a buffer necessary when using QTcpSocket?
我很好奇是否有必要创建自己的缓冲区,然后在每个readyRead()
信号上从QTcpSocket
读取数据。我通常认为这是个好主意,但我在一些不同的网站上看到过(甚至可能是Qt网站,我不记得了),使用缓冲区是完全没有必要的,如果完整的数据包还没有准备好,最好返回,然后等待下一个readyRead()
信号。QTcpSocket
负责增加其内部缓冲区还是有一个最大值?我知道这也可能取决于数据包的大小,所以假设最大值约为150kb。
QTcpSocket管理一个内部未绑定缓冲区(请参阅QAbstractSocket::setReadBufferSize
)。因此,从技术上讲,没有必要保留自己的单独缓冲区。
相关文章:
- 是否可以从 OpenGL 缓冲区获取原始大小的像素?
- 是否可以在 OpenGL 中的同一调用中呈现两个具有不同索引起点的不同缓冲区?
- 是否可以将 std::basic_ifstream 和 std::basic_ofstream 与自定义缓冲区一起使用?
- 是否可以在C++中拼接缓冲区,零拷贝?
- std::vector::assign/std::vector::operator=(const&) 是否保证在"this"中重用缓冲区?
- 输出操纵器 std::ends 是否向输出缓冲区添加空字符?
- 当构建器被销毁时,缓冲区是否有效
- 如何检查输入缓冲区是否为空
- 如何检查 cin 缓冲区是否包含相同的值 0.5 秒 (C++)
- C++如何检查std::cin缓冲区是否为空
- (DirectX 11)单个顶点缓冲区是否可以一次绑定到多个 IA 输入槽
- 在OpenGL中为顶点、uvs和法线使用一个缓冲区是否比使用三个缓冲区性能更好
- CUDA:查明主机缓冲区是否被固定(页面锁定)
- 使用 std::vector 作为简单缓冲区是否是一种好的做法
- 如何确定缓冲区是否已释放
- 对于std::cin缓冲区是否有大小限制?
- 命名管道在c++ Linux检查缓冲区是否已满
- ReadFile缓冲区是否需要被清空?
- 是否有一种方法来检查缓冲区是否在Brotli压缩格式
- 检测声音缓冲区是否充满数据