gpt4 book ai didi

qt - 如何正确确定 QTCPSocket 中已到达输入结束?

转载 作者:行者123 更新时间:2023-12-04 14:06:26 25 4
gpt4 key购买 nike

我有以下从 QTCPSocket 读取的代码:

QString request;

while(pSocket->waitForReadyRead())
{
request.append(pSocket->readAll());
}

此代码的问题在于它读取所有输入,然后在最后暂停 30 秒。 (这是默认超时。)

避免长时间超时并检测到输入结束的正确方法是什么? (避免信号的答案是首选,因为这应该在线程中同步发生。)

最佳答案

唯一可以确定的方法是当您收到您期望的确切字节数时。这通常通过在数据包的开头发送数据大小来完成。先读一遍,然后继续循环,直到你全部读完。另一种方法是使用标记,标记数据结束的特定字节系列,但这通常会变得困惑。

关于qt - 如何正确确定 QTCPSocket 中已到达输入结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4029802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com