QT5 UDP通信

本文介绍了在QT5.12.0版本中使用QUdpSocket进行UDP通信的方法,包括发送和接收数据包的函数,如writeDatagram()和readDatagram()。QHostAddress用于表示IP地址,而QByteArray作为数据传输的基础类型。在QT中,网络通信的数据通常以QByteArray形式处理,并可通过[]、at()、data[]和constData[]等方式进行访问,其中at()和constData[]提供最高效的只读访问。

QT版本:5.12.0

DUP通信

1、UDP通信概念

QUdpSocket类用于实现UDP通信,它从QAbstractSocket类继承,因而与QTcpSocket共享大部分的接口函数。主要区别是QUdpSocket以数据包传输数据,而不是连续的数据流。

发送数据包使用QUdpSocket::writeDataGram(),数据包的长度一般少于512字节,每个数据报包含发送者和接受者的IP地址端口等信息。

要进行UDP数据接收,要用QUdpSocket::bind()函数先绑定一个端口,用于接收传入的数据包。当有数据包传入时会发射readRead()信号,使用readDatagram()函数来读取接受到的数据报。

 

2、QHostAddress类提供一个IP地址。

3、QByteArray

Qt中无论是serialport、tcp、udp网络通信等,直接接收到(或者要发送)的数据都是QByteArray,之后的数据处理部分,无论转换为char*/ char[] 还是QString,都需要通过QByteArray转换而来。

QByteArray ba(24,0); 创建一个长度为24字节,初始值为0的字节数组。 

访问QByteArray主要有4中方式,分别为[],at(),data[]和constData[]。其中[]和dat

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值