• 6777阅读
  • 4回复

QTcpServer如何实现强制推送? [复制链接]

上一主题 下一主题
离线hkd0518
 
只看楼主 正序阅读 楼主  发表于: 2011-05-01


现在有大量小包要传,但是tcp会出现粘包现象,所以想每次小包都用push出去~但是找了半天没发现QTcpServer是怎么实现Push操作的~
请问有什么好的解决方法么?


谢谢啦~
离线hehui

只看该作者 4楼 发表于: 2011-06-21
粘包问题只要每个包前加个长度进行读取判断就可以解决了!
离线oscarboycn

只看该作者 3楼 发表于: 2011-06-10
    tcpSocket->setSocketOption(QAbstractSocket::LowDelayOption, 1);    
http://www.21ic.com
http://bbs.eetop.cn
http://www.eetop.cn/
http://www.eet-china.com/
http://www.netyi.net/
http://www.pcbbbs.com/
http://www.pcbtech.net/
离线hkd0518
只看该作者 2楼 发表于: 2011-05-01
好像效果也不是很明显~
看flush()的文档说,应该是和操作系统的设置有关,难道要修改操作系统的缓冲大小?这貌似会影响到其他的应用程序,而且不具有普遍适用性~


有没有其他的办法呢?
离线XChinux

只看该作者 1楼 发表于: 2011-05-01
试试QTcpSocket的flush()方法。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个