这是example network 中Threaded Fortune Server的一段代码,位于fortunethread.cpp
思考了好久,还是没法完全理顺
1、2、3都是一些初始化的定义,可以理解
4就看不太懂了,5是把要输出给客户端的信息发送到out上,6则又回到了iodevice的起点?7是做啥的?
8很好理解
9跟10是进行断开的动作,那么客户端怎么还能一次次的从服务器这里读取数据
完全是一团雾水,看英文的解释还是没看明白
能否请有经验的高手给大概解释一下
另外,我现在想实现类似聊天那样,一次向客户端输送一段字符,有没有哪种最简便的实现方法
1 QByteArray block;
2 QDataStream out(&block, QIODevice::WriteOnly);
3 out.setVersion(QDataStream::Qt_4_0);
4 out << (quint16)0;
5 out << text;
6 out.device()->seek(0);
7 out << (quint16)(block.size() - sizeof(quint16));
8 tcpSocket.write(block);
9 tcpSocket.disconnectFromHost();
10 tcpSocket.waitForDisconnected();