Qt 下的Tcp和Udp通信小结

来源:互联网 发布:心神战机 知乎 编辑:程序博客网 时间:2024/05/28 22:09

 Qt下的Tcp通信的过程:

   Tcp通信过程是基于c/s模型的,在客户端主要通过TcpSocket来定义对象tcpsocket,通过connectToHost(server,port)向服务器发起连接,当建立连接时就会emit connected信号,否则就发出error(QAbstractSocket ::SocketError),当有数据到达时,发出readReady()信号。在服务器端通过TcpServer的listen(server,port)监听,当有客户端发出连接申请时,就会发出newconnect()信号,服务器可以通过QTcpSocket::nextPendingConnection()接受邀请,当有数据到达时,发出readReady()信号,通过write()函数向其发送数据,可以通过QDataStream和QTextStream来进行读与写,当关闭连接时用到close()函数。

 Udp通信是面向无连接的,首先通过bind函数绑定当有数据来的时候,就会发出readReady()信号,通过readDatagram函数和writeDatagram函数来发送和接收数据。