服务器:
1.新建服务器对象QTcpServer
2.指定服务器的地址和端口并使用QTcpServer的listen方法开启服务
3.当有客户端接入时会触发newConnection信号,需要在客户端接入时执行的操作可以写在与此信号链接的自定义槽函数中,或者重写QTcpServer的incomingConnection方法
4.在客户端接入时使用QTcpServer的nextPendingConnection方法获取通信套接字QTcpSocket并存储在表当中
5.当客户端给服务器发送消息时,将会触发QTcpSocket::readyRead信号,信息处理的槽函数应该与此信号链接,使用QTcpSocket的readAll方法读取缓存区的消息
6.可以调用QTcpSocket的write方法给目标客户端发消息,用QTcpSocket的waitForBytesWritten方法等待完成
7.当客户端主动断开连接时,会触发QTcpSocket的disconnected信号,需要在客户端断开连接时执行的操作可以写在与此信号链接的自定义槽函数中(如将此客户端的套接字从列表中删除)
8.使用QTcpSocket的disconnectFromHost方法可以与客户端断开连接,使用waitForDisconnected等待断开连接
9.断开连接以后使用QTcpSocket的close方法关闭套接字
10.QTcpServer的close方法可以停止服务
客户端:
1.新建套接字QTcpSocket
2.指定服务器的地址和端口并使用QTcpSocket的connectToHost方法连接
3.使用QTcpSocket的waitForConnected方法等待连接成功,若超时则返回0
4.当服务器给客户端发送消息时,将会触发QTcpSocket::readyRead信号,信息处理的槽函数应该与此信号链接,使用QTcpSocket的readAll方法读取缓存区的消息
5.可以调用QTcpSocket的write方法给目标服务器发消息,用QTcpSocket的waitForBytesWritten方法等待完成
6.当服务器主动断开连接时,会触发QTcpSocket的disconnected信号,需要在服务器断开连接时执行的操作可以写在与此信号链接的自定义槽函数中(如重新连接)
7.使用QTcpSocket的disconnectFromHost方法可以与客户端断开连接,使用waitForDisconnected等待断开连接
8.断开连接以后使用QTcpSocket的close方法关闭套接字