知识点

  • 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通信相关推荐

  1. Java学习笔记—UDP通信

    一.UDP通信原理 UDP协议(用户数据报协议 User Datagram Protocol)是一种无连接通信协议, 即在数据传输时数据发送端和接收端不建立逻辑链接.因此UDP协议是一种 不可靠的网络 ...

  2. Socket简单学习之UDP通信

    UDP不可靠通信,不建立连接,只发送一次数据,不管对方是否接收 服务器端 using System; using System.Collections.Generic; using System.Li ...

  3. QT学习——Tcp客户端通信(本地回环)

    1.Linux下Tcp通信 2.Qt下Tcp通信 1)Tcp框架--简图 下面的文本框是写入文本,上面的是显示发送后接收到的信息.这里发送的消息并不会立刻显示到界面上,而是要通过 readyRead( ...

  4. 【QT学习六】QTextEdit

    目录 一.概述 二.QTextEdit的使用 创建QTextEdit控件 设置文本内容 获取文本内容 格式化文本 设置文本格式 插入图像 插入超链接 其他常用函数 三.QTextEdit类使用时注意事 ...

  5. QT TCP/UDP通信

    参考:43黑马QT笔记之Qt下Tcp/Udp通信过程_Mango酱的博客-CSDN博客 HTTP与TCP的区别和联系_satellite13的博客-CSDN博客 TCP和UDP的区别: UDP通信 服 ...

  6. QT学习开发笔记(UDP通信)

    UDP 通信 11.3.1 UDP 简介 UDP(User Datagram Protocol 即用户数据报协议)是一个轻量级的,不可靠的,面向数据 报的无连接协议.我们日常生活中使用的 QQ,其聊天 ...

  7. 嵌入式学习之QT学习---8 QT网络编程之TCP通信

    前言: Qt网络模块提供了用于编写TCP/IP客户端和服务器端程序的各种类,如用于TCP通信的QTcpSocket和QTcpServer,用于UDP通信的QUdpSocket,还有用于实现HTTP.F ...

  8. qt triggered信号_Qt之网络编程UDP通信

    点击上方"Qt学视觉",选择"星标"公众号重磅干货,第一时间送达 想要学习的同学们还请认真阅读每篇文章,相信你一定会有所收获 UDP通信概述 UDP(UserD ...

  9. QT学习笔记(十六):setwindowflags的属性总结

    QT学习笔记(十六):setwindowflags的属性总结 此枚举类型用于为小部件指定各种窗口系统属性.它们是不常用的,但在一些情况下是必要的.其中一些标志取决于底层窗口管理器是否支持它们. 主要类 ...

最新文章

  1. Python学习笔记3 流程控制、迭代器、生成器
  2. 【经典书】图论,322页pdf
  3. python标准类型内建模块_Python内建模块struct实例详解
  4. np.random.choice用法
  5. WORD填空题设置下划线?
  6. android开根号,定点数开根号的性能问题
  7. Java I/O系统之Print 流
  8. ibook软件java_Ibookv1.11 塞班版下载 - 手机阅读 - 非凡手机软件
  9. 全民K歌神器,这款麦克风唱享高音质体验
  10. 菜鸟的Django配置
  11. 从深海带回更多的东西 (汪品先)
  12. ubuntu下将eth3改为eth0及HWaddr的修改
  13. 优锘科技:森模型插件上新:BIM秒变轻量化,模板任选效果
  14. 全球 Top 1000计算机科学家公布:中国53位学者上榜!
  15. 3D成像方法 汇总(原理解析)— 双目视觉、激光三角、结构光、ToF、光场、全息...
  16. 自动生成Changelog
  17. Android接入穿山甲SDK并实现开屏广告
  18. 在虚拟机上搭建云平台环境(1)Controller和Computer虚拟机的安装
  19. Goolge Site 被墙后
  20. PermissionError: [Errno 13] Permission denied:‘xxx.csv‘

热门文章

  1. JZOJ__Day 9:【普及模拟】Square
  2. 归并排序执行次数_肯定能懂的常见算法讲解(1)——排序算法
  3. java中换行符号_Java中的回车换行符/n /r /t分析
  4. laravel框架图片上传
  5. js比较两个String字符串找出不同,并将不同处高亮显示
  6. 原生ajax封装,数据初始化,
  7. spring + shiro + cas 实现sso单点登录
  8. MyBatis 相同事物查询缓存问题
  9. 安装Extended WPF Toolkit
  10. 好文推荐(对JScript初,中级者有用):面向对象的Jscript[转贴]