QTcpSocket每~0.5s才读取一次数据,即使是非常小的数据包,任何方法都可以加快速度
QTcpSocket only reading data every ~0.5s, even with really small packets, any way to speed it up?
我有一个客户端/服务器设置与QTcpSocket和QTcpServer,这是一个实时的事情,所以它需要尽可能快的理想情况下,但是数据包只发送和接收每~0.5秒,即使他们真的很小(很少超过几个字节)。此外,没有数据包丢失是非常重要的,所以我不能使用UDP。我看到另一个线程,有人说在服务器端为每个客户端设置QAbstractSocket::LowDelayOption为1,但我尝试了一下,没有什么不同。有什么办法能让它快一点吗?
TCP套接字试图在每个数据报中容纳尽可能多的数据,因此0.5s可能是操作系统认为它已经等待了足够的时间,现在没有更多的数据要发送,并决定将套接字发送缓冲区刷新到网络的时间。
您可以尝试使用flush()强制将缓存的数据推送到网络
相关文章:
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 即使使用调试编译标志,表达式也是"optimized out"
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- 为什么文件不是由 F 流创建的,或者即使它是输出只是垃圾值?
- 即使没有调用这个递归函数,它是如何工作的?
- C++ VISUAL STUDIO:GLFWwindow没有初始化,即使它是在文档中编写的并且以前工作过
- 构建挂起,即使是适度的文件大小
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- constexpr 函数在编译时获取值,即使我的变量不是 constexpr
- 为什么变量的打印地址在每次执行时都会打印随机值,即使它是 C 中的逻辑地址?
- C++ 未知类型名称,即使类型是通过标头定义的
- 我的程序中的值计算不正确,即使支持数学是正确的
- 将一个向量映射到不同的对,即使向量映射到每对时是不同的?
- 名称后跟"::"必须是类或命名空间错误,即使"::"后面是类名
- 即使是系统暂停C 的结果
- 即使是复制分配运算符也无法提供帮助
- 有没有办法强制"most vexing parse"是错误的,即使是逐个类?
- QTcpSocket每~0.5s才读取一次数据,即使是非常小的数据包,任何方法都可以加快速度
- 任何基于 libclang 的 C/C++ 重构工具?(即使是最简单的"toy example")
- 为什么即使是 16 字节对齐的地址也会导致_mm_load_si128导致访问冲突