关于qtcpsocket连续读写,qthread continue write read

【转帖请注明出处:blog.csdn.net/lanmanck】

用qtcpserver和qtcpsocket建立连接后,一般需要循环读写很多数据。而qt自带的例子只有1次而已。

下面是我发现的一些技巧。

在读或者写过程中,QDataStream一定要每次都用“新的定义”,如下:

 

while(1)

{

QDataStream out(&block,QIODevice::WriteOnly);

 

out<<mystring;

socket.write(block);

}

而如下是不正确的,只有一次成功:

QDataStream out(&block,QIODevice::WriteOnly);

while(1)

{

out<<mystring;

socket.write(block);

}

读操作一个道理。大家注意点。错了请指正。

 

完整的例子在example有,不过c++programing in qt4那本书讲的更好。

你可能感兴趣的:(关于qtcpsocket连续读写,qthread continue write read)