QT中客户端 服务器

客户端

对于我们网络编程中

客户端 服务器,Q的步骤

那在我们qt当中 因为qt是基于我们面向对象的编程

首先我们需要一个socket 就是QTcpSocket

我们需要从我们editline中获取我们输入的ip地址跟端口号

就是QString ip = ui->editline->text();

获取之后利用我们socket中的函数

socket->connectToHost(QHostAddress(ip),port.toShort());

其实这就可以了

然后我们需要判断我们的链接是否成功

如果成功socket会发出 connected信号

利用信号与槽

直接写为

connect(socket,QTcpSocket::connected,[this]{

QMessageBox::information(this,"标题","连接成功");

})

服务器

网络编程中服务器流程是

在我们QT当中其实没那么麻烦

TcpServer *server = new TcpServer;//用于在服务器端建立 TCP 连接,它就像是一个监听器,等待客户端连接请求。

server->listen(QHostAddress::AnyIPv4,8000);// 表示服务器将监听本机的所有 IPv4 地址。

如果监听到有链接进来 我们的server会发出信号newConnection

connect(server,&QTcpServer::newConnection,this,&Widget::newClientHandler);

这其实就结束了 然后我们需要把newClientHandler 这个函数给实现一下

void Widget::newClientHandler(){

//其主要功能是从服务器的等待连接队列中获取下一个已经建立连接的客户端套接字对象。

QTcpSocket *socket = server->nextPendingConnection();

socket->peerAddress();//获取客户端信息

socket->peerPort();

ui->lineEdit->setText(socket->peerAddress().toString());

ui->lineEdit_2->setText(QString::number(socket->peerPort()));

}

相关推荐
艾莉丝努力练剑4 分钟前
【Linux网络】计算机网络入门:Socket编程预备,从字节序共识到 Socket 地址结构的“伪多态”设计
linux·服务器·网络·c++·学习·计算机网络
学***54232 小时前
换新电脑如何迁移原有数据?4 种高效数据迁移方法详解
服务器·电脑·负载均衡
vortex57 小时前
Debian 包管理全指南:从底层 dpkg 到高层 apt 及其日志追踪
linux·运维·debian
计算机安禾8 小时前
【Linux从入门到精通】第17篇:日志系统——系统运行的黑匣子
linux·运维·服务器
l1t8 小时前
DeepSeek辅助解决windows 11 wsl2中Linux版Dbeaver显示中文
linux·运维·windows
pengyi87101510 小时前
独享IP+动态IP结合核心逻辑,破解稳定与灵活的矛盾
linux·运维·网络
阿祖zu10 小时前
本地到生产,解决 AI 全栈最后一公里——构建&部署&运维
运维·架构·aigc
拍客圈14 小时前
内容页底部 采集的同时 隐瞒封面图
服务器·php
MAVER1CK14 小时前
Install VNC in Docker container
运维·docker·容器
SECS/GEM15 小时前
SECS/GEM如何实现越南现场自定义消息
java·服务器·数据库