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()));

}

相关推荐
阿里云云原生3 分钟前
可用性从 99.9% 跃升至 99.995%:畅捷通如何用 AI 重塑运维底座?
运维·网络·人工智能
阿童木写作39 分钟前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
@insist1232 小时前
信息系统管理工程师-信息系统运维资源、技术与智能运维核心考点解析
运维·软考·信管·软件水平考试·信息系统管理工程师
木子欢儿2 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
KKKlucifer4 小时前
运营商全域安全运维支撑体系落地实践
运维·安全
EAIReport5 小时前
工业电气自动化数据治理破局:多Agent大模型赋能全景智能决策
大数据·运维·自动化
清水迎朝阳5 小时前
客户端软件 — 用户统计方案
服务器·c++·客户端·用户统计
会编程的土豆5 小时前
Go 模板初识
linux·运维·服务器
腾讯蓝鲸智云5 小时前
标杆客户实践提炼:CFlow 版本价值流模板实战指南
运维·服务器·自动化·云计算·devops
阿标的博客5 小时前
Active Directory 组织单位和用户
服务器