程序示例精选
VS2019+QT客户端服务端TCP通信
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!
前言
这篇博客针对《VS2019+QT客户端服务端TCP通信》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
运行结果
文章目录
一、所需工具软件
二、使用步骤
1. 主要代码
2. 运行结果
三、在线协助
一、所需工具软件
1. VS2019
2. QT
二、使用步骤
代码如下(示例):
#include <QFile>
#include <QFileInfo>
#include <QFileDialog>
#include<iostream>
using namespace std;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
//客户端
socket = new QTcpSocket(this);
//客户端
//客户端文字发送
QObject::connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(connectRun()));
QObject::connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(on_btn_push_clicked()));
//客户端文字发送结束
}
MainWindow::~MainWindow()
{
delete this->socket;//回收内存
}
//客户端文字发送*********************************************
void MainWindow::connectRun()
{
if (ui.pushButton->text() == tr("连接"))
{
QString ip = ui.lineEdit->text();//获取ip
int port = ui.lineEdit_2->text().toInt();//获取端口数据
//取消已有的连接
socket->abort();
//连接服务器
socket->connectToHost(ip, port);
bool isconnect = socket->waitForConnected();//等待直到连接成功
//如果连接成功
if (isconnect)
{
ui.textEdit->append("The connection was successful!!");
ui.pushButton->setEnabled(true);//按钮使能
ui.pushButton->setText("断开服务器连接"); //修改按键文字
//接收缓冲区(服务器)信息
connect(socket, &QTcpSocket::readyRead, this, &MainWindow::ReadData);
}
else
{
ui.textEdit->append("The connection falied!!");
}
}
else
{
std::cout << "test_ " << std::endl;
//断开连接
socket->disconnectFromHost();
ui.textEdit->append("The connection closed!!");
ui.pushButton->setText("连接");
ui.pushButton->setEnabled(true);//关闭发送按钮使能
}
}
//接收缓冲区信息函数
void MainWindow::ReadData()
{
QByteArray buf = socket->readAll();
ui.textEdit->append(buf);
}
//发送按钮事件
void MainWindow::on_btn_push_clicked()
{
QByteArray data = ui.textEdit_2->toPlainText().toUtf8();//获取lineEdit控件中的数据并发送给服务器
socket->write(data);
//判断是否写入成功
qDebug() << "test_";
bool iswrite = socket->waitForBytesWritten();
qDebug() << "test_";
if (iswrite)
{
qDebug() << "write sucessful";
//写入成功
}
else
{
qDebug() << "write not sucessful";
//没有写入成功
}
}
运行结果
三、在线协助:
如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!
1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作
5)云服务器申请
6)网站制作
当前文章连接:https://blog.csdn.net/alicema1111/article/details/132666851
个人博客主页:https://blog.csdn.net/alicema1111?type=blog
博主所有文章点这里:https://blog.csdn.net/alicema1111?type=blog
博主推荐:
Python人脸识别考勤打卡系统:
https://blog.csdn.net/alicema1111/article/details/133434445
Python果树水果识别:https://blog.csdn.net/alicema1111/article/details/130862842
Python+Yolov8+Deepsort入口人流量统计:https://blog.csdn.net/alicema1111/article/details/130454430
Python+Qt人脸识别门禁管理系统:https://blog.csdn.net/alicema1111/article/details/130353433
Python+Qt指纹录入识别考勤系统:https://blog.csdn.net/alicema1111/article/details/129338432
Python Yolov5火焰烟雾识别源码分享:https://blog.csdn.net/alicema1111/article/details/128420453
Python+Yolov8路面桥梁墙体裂缝识别:https://blog.csdn.net/alicema1111/article/details/133434445
Python+Yolov5道路障碍物识别:https://blog.csdn.net/alicema1111/article/details/129589741
Python+Yolov5跌倒检测 摔倒检测 人物目标行为 人体特征识别:https://blog.csdn.net/alicema1111/article/details/129272048