Qt+C++ TCP发送接收信息客户端与服务端窗体

简介: Qt+C++ TCP发送接收信息客户端与服务端窗体
程序示例精选
Qt+C++ TCP发送接收信息客户端与服务端窗体
如需安装运行环境或远程调试,可点击
博主头像进入个人主页查看博主联系方式,由专业技术人员远程协助!

前言

这篇博客针对《Qt+C++ TCP发送接收信息客户端与服务端窗体》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。

运行结果

文章目录

一、所需工具软件
二、使用步骤
1. 主要代码
2. 运行结果

三、在线协助

一、所需工具软件

1. VS2019, C++
2. QT

二、使用步骤

代码如下(示例):

#include "QTcpClinet.h"

QTcpClinet::QTcpClinet(QWidget *parent)
    : QWidget(parent)
{
   
   
    ui.setupUi(this);
    socket = new QTcpSocket(this);
}

QTcpClinet::~QTcpClinet()
{
   
   
    delete this->socket;//回收内存
}

void QTcpClinet::on_btn_connect_clicked()
{
   
   
  if (ui.btn_connect->text()==tr("连接服务器"))
  {
   
   
    QString ip = ui.lineEdit_ip->text();//获取ip
    //取消已有的连接
    socket->abort();
    //连接服务器
    socket->connectToHost(ip, port);
    //如果连接成功
    if (isconnect)
    {
   
   
        ui.textEdit->append("The connection was successful!!");
        ui.btn_push->setEnabled(true);//按钮使能
        //修改按键文字
        ui.btn_connect->setText("断开服务器连接");
        //接收缓冲区(服务器)信息
    }
    else
    {
   
   
        ui.textEdit->append("The connection falied!!");
    }
  }
  else
  {
   
   
      //断开连接
      socket->disconnectFromHost();
      ui.btn_connect->setText("连接服务器");
      ui.btn_push->setEnabled(false);//关闭发送按钮使能
  }

}

//接收缓冲区信息函数
void QTcpClinet::ReadData()
{
   
   
    QByteArray buf = socket->readAll();
    ui.textEdit->append(buf);
}
//发送按钮事件
void QTcpClinet::on_btn_push_clicked()
{
   
   
    QByteArray data = ui.lineEdit_3->text().toUtf8();//获取lineEdit控件中的数据并发送给服务器

    //判断是否写入成功
    bool iswrite = socket->waitForBytesWritten();
    if (iswrite)
    {
   
   
        //写入成功
    }
    else
    {
   
   
        //没有写入成功
    }
}

运行结果

三、在线协助:

如需安装运行环境或远程调试,可点击博主头像,进入个人主页查看博主联系方式,由专业技术人员远程协助!

1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作

博主个人主页:https://developer.aliyun.com/profile/expert/rfnzgp3sk3ahc
博主所有文章点这里:https://developer.aliyun.com/profile/expert/rfnzgp3sk3ahc
博主联系方式点这里:https://developer.aliyun.com/profile/expert/rfnzgp3sk3ahc
相关文章
|
3月前
|
网络协议 容器
【qt】 TCP编程小项目
【qt】 TCP编程小项目
62 0
|
3月前
|
网络协议
【qt】TCP客户端信息的接受和发送
【qt】TCP客户端信息的接受和发送
34 0
|
3月前
|
网络协议
【qt】TCP客户端如何断开连接?
【qt】TCP客户端如何断开连接?
64 0
|
1月前
|
网络协议 Linux 网络性能优化
Linux C/C++之TCP / UDP通信
这篇文章详细介绍了Linux下C/C++语言实现TCP和UDP通信的方法,包括网络基础、通信模型、编程示例以及TCP和UDP的优缺点比较。
36 0
Linux C/C++之TCP / UDP通信
|
2月前
|
算法 数据安全/隐私保护 C++
超级好用的C++实用库之MD5信息摘要算法
超级好用的C++实用库之MD5信息摘要算法
68 0
|
3月前
【qt】客户端连接到服务器
【qt】客户端连接到服务器
61 0
|
3月前
|
网络协议
【qt】TCP服务器如何停止监听?
【qt】TCP服务器如何停止监听?
35 0
|
3月前
|
网络协议
【qt】TCP服务端发消息给客户端
【qt】TCP服务端发消息给客户端
32 0
|
7天前
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
33 4
|
8天前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
27 4