我正在开发一个与服务器交互的应用程序。
启动时,它正在从数据库加载一些数据,当数据库大小很大时,应用程序在很长的循环中运行,假设我在 db 中有 10 条 lac 记录,循环将迭代 10 次 lac 次。
经过一段固定的时间间隔(由用户设置)让我们说 1 秒,我的应用程序正在向不同线程中的服务器发送心跳消息。
在正常情况下,它工作正常,但是当应用程序在长循环中运行时,服务器没有收到心跳消息,尽管返回的写入字节QTcpSocket::write()
与我正在写入的字节相同(成功),但tcpDump
没有显示接收到任何字节。
我用过
tcpSocket->setSocketOption(QAbstractSocket::LowDelayOption , 1);
tcpSocket->setSocketOption(QAbstractSocket::KeepAliveOption , 600);