用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那本书讲的更好。