欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

qtcpsever 跟 qtcpsocket 循环write 数据写不去

更新时间: 2014-01-05 02:43:49 责任编辑: Author_N1

 

QTcpSever 和 QTcpSocket 循环write 数据写不去
例如有一个
tcpsocket
while(10 > i)
{
  tcpsocket.write(一个包)
  ++i;
}

数据 写不出去 不知道怎么版
求打救 急啊

还有 有qt的 im系统的 服务器端 和 客户端吗? 求例子 非常急
--参考方法--
你的数据量很大吗?使用waitForBytesWritten做一下等待
--参考方法--
先看看是不是你的数据还没有发送出去,程序就结束了
再看看是不是你接受端只接收一次数据
--参考方法--
这就需要定义通讯协议。明确的告诉对方你的数据怎么才算发完了。

常见的方式有两种:
1. 在你要发送的数据的最前端加两个或四个字节的长度标志。对端在接收时,必须先收满这些个字节,从而得出发送数据的准确长度。然后就一直等待,等待这些数据全部收到。期间可能会激发数次readyRead.这种方法适合二进制数据发送。

2. 使用XML,具体参考QXmlStreamReader,当你发送了一个完整的XML格式数据时,最后一行必定是EndDocument,可以用这个来判断数据接收完毕。这种方法更适合文本数据发送
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:43:49
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13630/
本文WWW.DOC100.NET DOC100.NET版权所有。