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

aspcms 网站统计石河子做网站

aspcms 网站统计,石河子做网站,关闭wordpress报错,自适应网站模板目录 一.widget.ui界面设计 二.创建UDP通信 1.pro文件添加network模块。 2.添加对应头文件 3.定义槽函数,即与 UI 中的按钮点击事件相关联的函数 4.定义类的私有成员 5.关闭按钮 6.信息处理 7.绑定端口 8.发送信息 9.效果图 三.代码演示 1.widget.h 2.…

目录

一.widget.ui界面设计

二.创建UDP通信

1.pro文件添加network模块。

2.添加对应头文件

3.定义槽函数,即与 UI 中的按钮点击事件相关联的函数

4.定义类的私有成员

5.关闭按钮

6.信息处理

7.绑定端口

8.发送信息

9.效果图

三.代码演示

1.widget.h

2.widget.cpp


一.widget.ui界面设计

拖拽左侧Label控件到页面中,分别显示Label:对方IP;Label:对方端口。

拖拽左侧Push Button控件到页面中,分别为: 发送,关闭,两个按钮。在右侧将其objectName 分别设置为 ;"sendButton" ;  "closeButton" 。

拖拽左侧QLineEdit控件到页面中,在右侧将其objectName 设置为"lineIp"和"lienProt",目的是输入对方IP和对方端口号。

拖拽左侧QTextEdit控件到页面中,在右侧将其objectName 设置为"textEditRead"和"textEditWrite",目的是读取对方发来的信息和输入自己想要发送的信息。
 

二.创建UDP通信

1.pro文件添加network模块。


2.添加对应头文件


#include <QUdpSocket>: C++ 中用于引入 Qt 网络库中的 QUdpSocket 类的预处理指令。QUdpSocket 是 Qt 用于实现用户数据报协议 (UDP) 的类。UDP 是一种无连接的、不可靠的传输层协议,通常用于实时数据传输,如游戏、流媒体和网络广播等场景,因为它提供了低延迟和低开销的通信。

#include <QHostAddress>:QHostAddress 类是 Qt Network 模块中的一个类,用于表示 IP 地址和主机名。它提供了一种方便的方式来处理 IP 地址,支持 IPv4 和 IPv6 地址。

3.定义槽函数,即与 UI 中的按钮点击事件相关联的函数

  • on_closeButton_clicked():当关闭按钮被点击时调用。
  • on_sendButton_clicked():当发送按钮被点击时调用。

4.定义类的私有成员

  • QUdpSocket *socket;:一个 QUdpSocket 对象,用于网络通信。

5.关闭按钮

6.信息处理

7.绑定端口

8.发送信息

9.效果图

三.代码演示

1.widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QUdpSocket>
#include <QWidget>
#include <QHostAddress>namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();void dealMsg();private slots:void on_closeButton_clicked();void on_sendButton_clicked();private:Ui::Widget *ui;QUdpSocket* udpSocket;
};#endif // WIDGET_H

2.widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);udpSocket = new QUdpSocket(this);udpSocket->bind(QHostAddress::Any,9000);connect(udpSocket,&QUdpSocket::readyRead,this,&Widget::dealMsg);setWindowTitle("端口: 9000");}Widget::~Widget()
{delete ui;
}void Widget::on_closeButton_clicked()
{close();
}void Widget::on_sendButton_clicked()
{if(nullptr == ui->lineIp || nullptr == ui->lienProt){return;}QString ip = ui->lineIp->text();quint16 port = ui->lienProt->text().toInt();//读取编辑区内容if(nullptr == ui->textEditWrite){return;}QString str=ui->textEditWrite->toPlainText();//写入套接字udpSocket->writeDatagram(str.toUtf8(),QHostAddress(ip),port);}void Widget::dealMsg()
{//定义了一个字符数组buf,大小为1024个字符。数组初始化为0,这通常用于确保数组在使用前被正确初始化char buf[1024] = {0};//QHostAddress 是Qt库中用于表示IP地址的类。quint16 是一个16位无符号整数,通常用于表示端口号。QHostAddress ip;quint16 port;//readDatagram 是一个从UDP套接字读取数据的方法。它接受四个参数://第一个参数buf:用于存储读取到的数据的缓冲区。//第二个参数sizeof(buf):指定缓冲区的大小,这里是1024个字符。//第三个参数&ip:用于接收读取到的IP地址,通过引用传递以修改变量的值。//第四个参数&port:用于接收读取到的端口号,同样通过引用传递。//接受信息qint64 len = udpSocket->readDatagram(buf,sizeof(buf),&ip,&port);if(len>0){//显示QString str = QString("[%1:%2]%3").arg(ip.toString()).arg(port).arg(buf);ui->textEditRead->append(str);}}

http://www.yayakq.cn/news/612054/

相关文章:

  • 做旅游产品的网站有哪些宁乡网站开发公司推荐
  • 自己电脑做电影网站西昌手机网站设计
  • 上饶建设培训中心网站适合女生的十大热门专业
  • 如何做外贸品牌网站建设多媒体设计工作内容
  • 果洛营销网站建设丢盖网logo在线设计
  • 连云港网站seo企业网站开发到上线的视频
  • 南京汽车集团网站建设软件开发工程师英文
  • 网站建设中中文模板下载小型企业网站模板
  • 京东联盟新手没有网站怎么做推广wordpress 红酒
  • 百度站长工具查询羽毛球赛事最新消息
  • 企业网站源码 一品资源网购物网站开发用什么软件
  • 网站源码平台移动应用程序开发
  • 出名的网站建设软件2017做网站挣钱吗
  • 微网站开发 付费阅读做技术分享网站有哪些
  • 定制网站开发食道里感觉有东西堵注册商标设计
  • 民族建设集团有限公司官方网站代刷网站只做软件吗
  • 上海网站建设定制公语言网站建设
  • 怎么在网站后台做标题的超链接找网红推广一般怎么合作
  • 网站主流服务器语言网站建设山东
  • 邢台网站建设哪儿好网站设计方法
  • 家装网站建设预算成都古怪科技网站建设公司
  • 江苏省江建集团有限公司建设网站市场调研方案
  • 网站怎么建设原始站点南宁网站建设优化排名
  • 佛山市 骏域网站建设直播平台开发费用
  • 成立网站要多少钱个人网页上传网站怎么做
  • 找谁做公司网站唐河企业网站制作哪家好
  • 网站怎么盈利个人做网站能赚到钱吗
  • iis 建设网站免费把图片生成链接
  • 深圳团购网站设计价格wordpress 4.5 中文404
  • 网站你懂我意思正能量晚上在线观看不用下载免费魅族互联网创业项目简介