Qt笔记:网络编程UDP
一、铺垫
1.Qt框架使用的网络结构的基础就是Linux学习的网络编程基础;所以使用Qt写客户端,使用Linux写服务端;两者是可以实现互联的
二、UDP
网络编程UDP使用套路:
1.首先在.pro文件中加上network,使Qt可以搭载网络模块;
2.在要使用的.h或.c文件中 引入头文件
#include<QUdpSocket> //用来使用UDPsocket的头文件
#include<QNetworkDatagram> //用来接受数据报的头文件
3.套路
注:使用函数必须细读官方文档;
QUdpSocket* socket=new QUdpSocket(this);
//1.连接信号槽,当接收到readyRead(已经可以读取客户端发来的数据)信号时,就触发程序员自己写的handle函数;
connect(socket,&QUdpSocket::readyRead,this,&Widget::handle);//2.绑定端口号——必须先连接信号槽;再绑定端口号;
socket->bind(QHostAddress::Any,9090);
//3.创建QNetworkDatagram对象,用来接收数据里面包含IP地址、端口号、内容;
const QNetworkDatagram& requestDatagram = socket->receiveDatagram();
QString request=requestDatagram.data();//返回值是一个字节数组可以赋值给QString的;//4.构建数据报对象
QNetworkDatagram responseDatagram(response.toUtf8(),
requestDatagram.senderAddress(), requestDatagram.senderPort());
//5.将数据再发送出去
socket->writeDatagram(requestDatagram);