我的编程空间,编程开发者的网络收藏夹
学习永远不晚

QT网络通信-服务器(一)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

QT网络通信-服务器(一)

目录

1、简介

2 、TCP通信流程

 3、基于TCP通信所需要的类

4、QT端设计

4.1项目建立

 4.2 TCP网络程序设计

 4.2.1 QT界面设计

 4.2.2 UI布局

 4.2.3 控件重命名

 5、widget.h

6、widget.c


1、简介

网络有TCP和UDP。本文主要通过QT完成TCP网络设计,通过ESP8266与单片机进行通讯。

2 、TCP通信流程

 3、基于TCP通信所需要的类

QTcpSever 服务器类,用于监听客户端连接以及和客户端建立连接。

QTcpSocket 通信的套接字类,客户端、服务器端都需要使用。

QTcpSever、QTcpSocket都属于网络模块network。

4、QT端设计

4.1项目建立

 2、

 3、

 4、

 5、

 6、

 4.2 TCP网络程序设计

QT提供了QTcpServer类,可以直接实例化一个客户端,可在help中索引如下:

The QTcpServer class provides a TCP-based server. More...Header:     #include  qmake:      QT += networkInherits:       QObject

首先在在.pro文件中添加QT += network才可以进行网络编程

QT       += core gui network

接着在widget.h中添加所需头文件,头文件如下所示:

#include #include #include 

 4.2.1 QT界面设计

如下所示:

 2、

 3、

 4、

 5、

 6、

 4.2.2 UI布局

 整体垂直布局

 对于接收框设置成只读,如下所示:

 4.2.3 控件重命名

 

 5、widget.h

#ifndef WIDGET_H#define WIDGET_H#include #include #include #include namespace Ui {class Widget;}class Widget : public QWidget{    Q_OBJECTpublic:    explicit Widget(QWidget *parent = nullptr);    ~Widget();    QTcpServer *tcpserver;//声明一个QTcpserver的对象,用于监听    QTcpSocket *tcpsocket;//创建服务器的套接字,用于与客户端进行通信private slots:    void newConnection_Slot();    void readyRead_Slot();    void on_open_Button_clicked();        void on_close_Button_clicked();        void on_send_Button_clicked();    private:    Ui::Widget *ui;};#endif // WIDGET_H

6、widget.c

#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) :    QWidget(parent),    ui(new Ui::Widget){    ui->setupUi(this);    tcpserver = new QTcpServer(this);    tcpsocket = new QTcpSocket(this);    //当服务器发现有人要来连接时,就会发出newconnection 的信号,从而触发槽函数newConnection_Slot()(自行编写的槽函数)    connect(tcpserver,SIGNAL(newConnection()),this,SLOT(newConnection_Slot()));}//建立接收客户端连接的槽函数,有人连接就触发这个槽函数void Widget::newConnection_Slot(){     //获取这个服务器sserver与客户端通信的套接字    tcpsocket = tcpserver->nextPendingConnection();    connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readyRead_Slot()));}void Widget::readyRead_Slot(){    QString buf;    buf = tcpsocket->readAll();    ui->rece_Edit->appendPlainText(buf);}Widget::~Widget(){    delete ui;}void Widget::on_open_Button_clicked(){    //服务端点击启动服务器,服务器就开始监听    //监听----------启动服务器    //QHostAddress::Any 地址,接纳所有的地址    //端口号  ui->sportEdit->text()获得输入的字符串,转换成无符号短整型    tcpserver->listen(QHostAddress::Any,ui->port_line->text().toUShort());}void Widget::on_close_Button_clicked(){    tcpserver->close();}void Widget::on_send_Button_clicked(){    tcpsocket->write(ui->send_line->text().toLocal8Bit().data());}

来源地址:https://blog.csdn.net/weixin_44597885/article/details/130200219

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

QT网络通信-服务器(一)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python socket网络编程TCP/IP服务器与客户端通信

Python socket网络编程 初学 python,前段时间买了两本书《python 编程从入门到实践》《Python 核心编程第三版》,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好
2022-06-04

云服务器通信

云服务器通信是指通过互联网或本地主机进行通信的过程。在云服务器中,客户端可以通过网站或应用程序等方式与服务器交互,服务器则处理和回应客户端的请求。在与云服务器通信时,用户需要确保正确的身份验证和权限控制。常见的身份验证和权限控制方法包括:AuthenticationIdentity:用户在访问云服务器之前需要通过AuthenticationIdentity验证来确保自己的身份。用户可以选择
2023-10-26

阿里云服务器网络不通怎么办

简介阿里云服务器是一种强大的云计算服务,但有时候我们可能会遇到服务器网络不通的问题。本文将介绍一些常见的原因以及解决方法,帮助您快速解决阿里云服务器网络不通的问题。1.检查网络配置首先,我们需要检查服务器的网络配置是否正确。可以通过以下步骤来完成:登录阿里云控制台,进入云服务器ECS实例管理页面;找到需要检查的服务器实
阿里云服务器网络不通怎么办
2024-01-19

云服务器的网络设备和网络服务器

1.路由器(Router)路由器是云服务器网络中的关键设备之一。它负责将数据包从源地址传输到目标地址。路由器根据网络协议和路由表来决定数据包的最佳路径,并将其转发到下一个节点。在云服务器环境中,路由器起到连接不同网络的作用,使得云服务器能够与外部网络进行通信。2.交换机(Switch)交换机是云服务器网络中的另一个重要设备。它用于在局域网内部传输数据包。交换机通过学习和存储MAC地址,将数据包从源地址转发到目标...
2023-10-27

如何搭建一个云服务器网络

搭建一个云服务器网络需要考虑很多方面,以下是一些基本步骤:选择云服务器提供商:选择一家可靠的云服务器提供商可以确保你的数据在任何时间都能访问到,并且可以提供稳定和安全的服务。配置基础设施:确定你的云服务器提供商所提供的基础设施是否符合你的需求。例如,你需要一个虚拟主机来容纳你的应用程序,或者你需要一个存储服务器来存储文件。创建虚拟网络:创建一个虚拟网络可以帮助你构建网络以及管理和配置资源
2023-10-26

阿里云服务器开通没有网络连接

本文将探讨当您在阿里云上开通服务器时遇到没有网络连接的问题。我们将分析可能导致这个问题的原因,并提供解决方法,帮助您重新建立与服务器的网络连接。1.检查网络配置在开通阿里云服务器后,首先需要检查您的网络配置是否正确。确保您已经正确地设置了服务器的网络参数,包括IP地址、子网掩码、网关等。您可以登录到阿里云控制台,在相应
阿里云服务器开通没有网络连接
2024-01-21

云服务器网络

云服务器网络是一种在云服务器上进行数据存储和访问的网络架构。它通常由多个计算节点连接而成,并通过网络协议来实现数据的传输。这种网络结构类似于传统的集中式网络,但它的特点是更加智能化和灵活性。云服务器网络通常由多个不同的计算节点组成,每个节点都通过互联网连接在一起。这些计算节点可能位于本地,也可能位于公共云平台上,它们可以通过公共云平台访问和存储数据。这些计算节点通常是按照一定的层次组织的,这些
2023-10-26

建立云服务器网络链接地址信息

1.了解云服务器网络链接地址在建立云服务器网络链接地址信息之前,首先需要了解云服务器的网络链接地址。云服务器通常会有两种类型的网络链接地址:内部网络链接地址:这是在云服务器内部使用的私有IP地址,用于在同一云服务提供商的不同云服务器之间进行通信。内部网络链接地址通常是在同一子网内的唯一标识符。外部网络链接地址:这是云服务器对外提供的公共IP地址,用于与互联网进行通信。外部网络链接地址可以是静态IP地...
2023-10-27

Python HTTP请求:轻松掌握网络通信的利器

Python HTTP请求库可轻松处理网络通信,提供丰富的方法和灵活的配置,本文将带领您探索其强大功能,掌握网络通信的利器。
Python HTTP请求:轻松掌握网络通信的利器
2024-02-23

通过云服务器转发内网应用信息

如果您正在使用云服务器来发送Web应用信息,您可以使用以下步骤来实现该功能:在您的云服务器中安装ApacheSpanner2:ApacheSpanner是一个非常流行的工具,可以帮助您在本地服务器上发送和接收内网应用信息。您需要在您的网络上安装ApacheSpanner2,具体步骤如下:在您的网络上找到“ApacheSpanner2”文件夹:在“ApacheSpannerProvide
2023-10-26

阿里云Netty服务器高性能、高可靠性的网络通信解决方案

Netty是一个开源的、高性能的、可扩展的、跨平台的网络通信框架。在阿里云上,Netty服务器被广泛应用于各种场景,如Web服务、企业级应用、流媒体服务等。本文将详细探讨阿里云Netty服务器的相关特性、优势以及使用方法。一、阿里云Netty服务器的主要特性高性能:Netty采用事件驱动的模型,能有效利用多核处理
阿里云Netty服务器高性能、高可靠性的网络通信解决方案
2023-11-14

一台云服务器怎么搭建集群的服务器网络

选择一款云服务器操作系统(如AWS、Azure、MicrosoftAzure等),并配置服务器所在的网络环境。选择云服务器的虚拟化技术(如VMware、Hyper-V等),并配置相关的虚拟机(VM)文件夹。创建一台云服务器的实例,并指定其所在的网络环境。配置云服务器的负载均衡器,以确保集群服务器之间的负载均衡。配置云服务器的IP地址和端口,以便集群服务器能够与其他云服务器实例进行通信。创建一个集群拓扑结构,以便管理员能够轻松地查...
2023-10-27

编程热搜

目录