首页 > 编程知识 正文

qt的tcp通信编程,qt实现udp通信

时间:2023-05-06 09:46:04 阅读:25523 作者:3080

一. QUdpSocket

1、UDP是未连接、不可靠的数据报传输协议。

2、套接字作为输入输出设备,QUdpSocket可以调用writeDatagram ()和readDatagram () )对套接字进行读写。 每次数据报写入完成时,都会释放bytesWritten ()信号。

3、QUdpSocket在阅读前调用bind ()函数进行绑定。 如果只是写的话,就没有必要绑定。

4、如果数据报可被读取,则QUdpSocket输出readRead )信号,并定义与该信号相关联的时隙函数,从而读取数据。 在这种情况下,hasPendingDatagrams ()也返回true。 pendingDatagramSize ) )获取数据报的长度,并可用于调用读取函数读取数据。

void Server:initSocket () UDPsocket=newqudpsocket ) this ); UDP套接字绑定(qhostaddress :3360 localhost,7755; 连接(UDP套接字,信号(就绪读取),this,插槽(冗馀数据) ); } voidserver :3360 readpendingdatagrams () while (UDP socket-haspendingdatagrams ) ) { q字节数据; datagram.resize (UDP套接字- pendingdatagramsize (); qhostaddress发送器; quint 16发送器端口; UDP套接字- read datagram (datagram.data (,datagram.size )、sender、senderPort ); 处理sthedatagram; }

二. QTcpSocket

1、TCP协议是面向连接的可靠传输协议

2、使用QTcpSocket前,调用connectToHost ()与目标主机建立连接,数据传输完成后调用disconnectFromHost ) )断开连接。 连接建立后将发送“已连接”信号,连接断开时将发送“已断开”信号。

3、有可读数据时,发出readyRead ()信号,byteAvailable () )函数可以获取可读字节数。

4、可以调用write (和read )函数读写套接字。

5、服务器编程时,一个服务器可能连接到多个客户端,此时可以调用setSocketDescriptor ()协议设置套接字描述符。

6,abort ) )函数类似于disconnectFromHost ) )函数的功能。 abort ) )立即关闭套接字并丢弃可读字节。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。