我很好奇是否有必要创建我自己的缓冲区,然后在每个QTcpSocket
信号上读取readyRead()
的数据。我通常认为这是一个好主意,但我已经在一些不同的网站上看到过(甚至可能是Qt网站,我记不清了),使用缓冲区是完全没必要的,如果只是返回则更好。尚未准备好完整的数据包,并等待下一个readyRead()
信号。 QTcpSocket
是否负责增长它的内部缓冲区,还是有最大值?我知道它也可能取决于数据包的大小,所以假设最大值约为150kb。
答案 0 :(得分:1)
QTcpSocket管理内部未绑定缓冲区(请参阅QAbstractSocket::setReadBufferSize
)。所以从技术上讲,不需要保留自己独立的缓冲区。