毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

QTcpSever和QTcpSocket循写数据写不去

更新时间:2012-5-17:  来源:毕业论文

tcpsocket
while(10 > i)
{
  tcpsocket.write(一个包)
  ++i;
}

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

还有 有qt的 im系统的 服务器端 和 客户端吗?

readyRead不会知道客户端调用了几个write,它只负责在有数据到达时触发,等你真正接收时,或许已经能够收到所有的数据了。这要看你发送的信息量了,如果很少的话,一次readyRead就能读到所有数据!但切记,这不是必然的!

这就需要定义通讯协议。明确的告诉对方你的数据怎么才算发完了。

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

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

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。