文章网络部分使用QT
先看一个简单的发送整数的例子
这个例子直接引用于QT Creator快速入门这本书18-8样例源码,经过简单的修改,只是把发送字符串修改为了发送整数,方便查看字节数据
void Server::sendMessage()
{
// 用于暂存要发送的数据
QByteArray block;
QDataStreamout(&block, QIODevice::WriteOnly);
// 设置数据流的版本,客户端和服务器端使用的版本要相同
out.setVersion(QDataStream::Qt_5_6);
out << (quint16)0;
out << 5;
out.device()->seek(0);
out <<(quint16)(block.size() - sizeof(quint16));
// 获取已经建立的连接的套接字
QTcpSocket*clientConnection = tcpServer->nextPendingConnection();
connect(clientConnection,&QTcpSocket::disconnected,clientConnection, &QTcpSocket::deleteLater);
clientConnection->write(block);
clientConnection->disconnectFromHost();
// 发送数据