qt udp通信

udp不分客户端和服务器,只需要使用一个类 QUdpSocket

这里写目录标题

    • 界面设计
    • qudpsocket
    • this
    • 按钮 打开
    • 按钮 发送 关闭

界面设计

qt udp通信_第1张图片
接收框设置为 只读
为ui界面各个模块改名字
qt udp通信_第2张图片
本低端口和目标ip框对齐,可以对目标ip 宽度设置 为一样
qt udp通信_第3张图片
水平策略

qudpsocket

例子
qt udp通信_第4张图片
udp不需要连接,直接关联端口号

widget中
QUdpSocket *udpSocket;


cpp中
udpSocket = new QUdpSocket(this) 父对象被删除,子对象也被删除了


this

udpSocket = new QUdpSocket(this) 语句中,this 表示当前对象的指针,或者说是当前类的实例化对象。这是因为,在使用 Qt 进行开发时,经常需要通过一个类的实例来使用该类的成员函数和成员变量。

在创建 QUdpSocket 对象时,使用 this 将其设置为当前类的成员变量。这样可以确保在 QUdpSocket 对象被销毁之前,当前类的实例仍然存在,并且可以访问到 udpSocket 成员变量。同时,也可以将 udpSocket 对象所产生的信号与当前类的槽函数进行连接,实现实例间的交互操作。

需要注意的是,this 关键字在不同的上下文中会有不同的含义。在这里,this 表示当前对象的指针,即对象本身。在其他情况下,可能表示当前类、当前作用域等。

按钮 打开

while中数据没有读取完会返回true
数据格式大小设置为一样
qt udp通信_第5张图片

调试助手
qt udp通信_第6张图片
远程主机端口号
qt udp通信_第7张图片

按钮 发送 关闭

右键转到槽
头文件 QHostAddress
qt udp通信_第8张图片
qt udp通信_第9张图片

你可能感兴趣的:(qt初步,udp,qt,网络协议)