UDP是User Datagram Protocol的缩写,即用户数据报协议。它是一种无连接的、不可靠的、面向数据报的传输层协议,一般用于对可靠性要求不高的场合。
基于UDP套接字的通信过程一般是这样的:
首先创建QUdpSocket对象,通过其bind方法绑定一个IP地址和端口
如果只是想发送数据,也可以不调用bind方法绑定IP地址和端口
然后调用writeDatagram和readDatagram方法传输数据
如果想使用QIODevice类的read、readLine、write等方法传输数据,必须先调用connectToHost方法建立连接
当数据报已发出时,QUdpSocket对象会发射一个bytesWritten信号
当数据报读就绪时,QUdpSocket对象会发射一个readyRead信号,在与该信号相连接的槽函数中:
调用hadPendingDatagrams方法,判断是否存在待接收的数据报
调用pendingDatagramSize方法,获取待接收数据报的字节数
调用readDatagram方法,接收数据报