Qt学习(六):UDP通信
知识点
- qt中UDP通信
- 组播
- 获取编辑器内容,发送到套接字
完整项目github地址:
https://github.com/taw19960426/Qt_study/tree/main/QUdpSocket
结果演示
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QHostAddress>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);setWindowTitle("服务端port:8888");udpSocket=new QUdpSocket(this);//绑定//udpSocket->bind(8888);udpSocket->bind(QHostAddress::AnyIPv4, 8888);//加入某个组播//组播地址是D类地址udpSocket->joinMulticastGroup( QHostAddress("224.0.0.2") );//udpSocket->leaveMulticastGroup(); //退出组播//当对方成功发送数据过来//自动触发 readyRead()connect(udpSocket,&QUdpSocket::readyRead,this,&Widget::delUdp);
}Widget::~Widget()
{delete ui;
}void Widget::delUdp(){//读取对方发送的内容char buf[1024]={0};QHostAddress ip;//对方地址quint16 port;//对方端口qint64 ans=udpSocket->readDatagram(buf,sizeof(buf),&ip,&port);//读到了if(ans>0){//格式化 [192.68.2.2:8888]aaaaQString str=QString("[%1:%2] %3").arg(ip.toString()).arg(port).arg(buf);//给编辑区设置内容ui->textEdit->setText(str);}
}//发送按钮
void Widget::on_buttonSend_clicked()
{//先获取对方的IP和端口QString ip=ui->lineEditIP->text();quint16 port=ui->lineEditPort->text().toInt();//获取编辑区内容QString str=ui->textEdit->toPlainText();//给指定的IP发送数据udpSocket->writeDatagram(str.toUtf8(),QHostAddress(ip),port);
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QUdpSocket>namespace Ui {class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();private slots:void on_buttonSend_clicked();private:Ui::Widget *ui;QUdpSocket *udpSocket;//定义处理的槽函数void delUdp();
};#endif // WIDGET_H
Qt学习(六):UDP通信相关推荐
- Java学习笔记—UDP通信
一.UDP通信原理 UDP协议(用户数据报协议 User Datagram Protocol)是一种无连接通信协议, 即在数据传输时数据发送端和接收端不建立逻辑链接.因此UDP协议是一种 不可靠的网络 ...
- Socket简单学习之UDP通信
UDP不可靠通信,不建立连接,只发送一次数据,不管对方是否接收 服务器端 using System; using System.Collections.Generic; using System.Li ...
- QT学习——Tcp客户端通信(本地回环)
1.Linux下Tcp通信 2.Qt下Tcp通信 1)Tcp框架--简图 下面的文本框是写入文本,上面的是显示发送后接收到的信息.这里发送的消息并不会立刻显示到界面上,而是要通过 readyRead( ...
- 【QT学习六】QTextEdit
目录 一.概述 二.QTextEdit的使用 创建QTextEdit控件 设置文本内容 获取文本内容 格式化文本 设置文本格式 插入图像 插入超链接 其他常用函数 三.QTextEdit类使用时注意事 ...
- QT TCP/UDP通信
参考:43黑马QT笔记之Qt下Tcp/Udp通信过程_Mango酱的博客-CSDN博客 HTTP与TCP的区别和联系_satellite13的博客-CSDN博客 TCP和UDP的区别: UDP通信 服 ...
- QT学习开发笔记(UDP通信)
UDP 通信 11.3.1 UDP 简介 UDP(User Datagram Protocol 即用户数据报协议)是一个轻量级的,不可靠的,面向数据 报的无连接协议.我们日常生活中使用的 QQ,其聊天 ...
- 嵌入式学习之QT学习---8 QT网络编程之TCP通信
前言: Qt网络模块提供了用于编写TCP/IP客户端和服务器端程序的各种类,如用于TCP通信的QTcpSocket和QTcpServer,用于UDP通信的QUdpSocket,还有用于实现HTTP.F ...
- qt triggered信号_Qt之网络编程UDP通信
点击上方"Qt学视觉",选择"星标"公众号重磅干货,第一时间送达 想要学习的同学们还请认真阅读每篇文章,相信你一定会有所收获 UDP通信概述 UDP(UserD ...
- QT学习笔记(十六):setwindowflags的属性总结
QT学习笔记(十六):setwindowflags的属性总结 此枚举类型用于为小部件指定各种窗口系统属性.它们是不常用的,但在一些情况下是必要的.其中一些标志取决于底层窗口管理器是否支持它们. 主要类 ...
最新文章
- Python学习笔记3 流程控制、迭代器、生成器
- 【经典书】图论,322页pdf
- python标准类型内建模块_Python内建模块struct实例详解
- np.random.choice用法
- WORD填空题设置下划线?
- android开根号,定点数开根号的性能问题
- Java I/O系统之Print 流
- ibook软件java_Ibookv1.11 塞班版下载 - 手机阅读 - 非凡手机软件
- 全民K歌神器,这款麦克风唱享高音质体验
- 菜鸟的Django配置
- 从深海带回更多的东西 (汪品先)
- ubuntu下将eth3改为eth0及HWaddr的修改
- 优锘科技:森模型插件上新:BIM秒变轻量化,模板任选效果
- 全球 Top 1000计算机科学家公布:中国53位学者上榜!
- 3D成像方法 汇总(原理解析)— 双目视觉、激光三角、结构光、ToF、光场、全息...
- 自动生成Changelog
- Android接入穿山甲SDK并实现开屏广告
- 在虚拟机上搭建云平台环境(1)Controller和Computer虚拟机的安装
- Goolge Site 被墙后
- PermissionError: [Errno 13] Permission denied:‘xxx.csv‘
热门文章
- JZOJ__Day 9:【普及模拟】Square
- 归并排序执行次数_肯定能懂的常见算法讲解(1)——排序算法
- java中换行符号_Java中的回车换行符/n /r /t分析
- laravel框架图片上传
- js比较两个String字符串找出不同,并将不同处高亮显示
- 原生ajax封装,数据初始化,
- spring + shiro + cas 实现sso单点登录
- MyBatis 相同事物查询缓存问题
- 安装Extended WPF Toolkit
- 好文推荐(对JScript初,中级者有用):面向对象的Jscript[转贴]