当前位置: 首页 > article >正文

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);


http://www.kler.cn/a/453808.html

相关文章:

  • 多旋翼无人机理论 | 四旋翼动力学数学模型与Matlab仿真
  • 如何给负载均衡平台做好安全防御
  • c/c++ 无法跳转定义
  • 【VScode】第三方GPT编程工具-CodeMoss安装教程
  • Eclipse常用快捷键详解
  • Ubuntu网络配置(桥接模式, nat模式, host主机模式)
  • 智慧交通-Android车牌识别接口-车牌识别系统
  • 【提审】Android包提审报权限问题
  • excel技巧:excel文件怎么加密防止泄密?加密Excel文件的四种方法
  • 微机接口课设——基于Proteus和8086的打地鼠设计(8255、8253、8259)Proteus中Unknown 1-byte opcode / Unknown 2-byte opcode错误
  • 【Compose multiplatform教程09】【组件】Image组件
  • Effective C++ 条款 04:确定对象被使用前已先被初始化
  • flask后端开发(9):ORM模型外键+迁移ORM模型
  • Java重要面试名词整理(七):分库分表
  • redis使用注意哪些事项
  • 深入理解Nginx工作原理及优化技巧
  • 子网掩码计算route命令
  • Spark常用的转化操作和动作操作详解
  • Linux系统编程——理解系统内核中的信号捕获
  • 深度学习-76-大模型量化之压缩映射方法和量化校准方法简介
  • mybatis SqlSessionFactory
  • Java配置文件的使用-相同信息在不同环境的赋值访问
  • 解决在windows中mysql安装服务后启动服务失败的问题
  • 求两大数和
  • 软件开发中 IT 人力外包驻场有哪些优点
  • 《Opencv》基础操作详解(2)