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

}

相关推荐
云飞云共享云桌面5 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
JAVA面经实录9176 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
小刘|7 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
Maynor9968 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
聚名网8 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
java_cj9 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
小小小花儿9 小时前
SSH密钥配置(免密连接远程服务器)
服务器·ssh
深圳恒讯10 小时前
越南服务器BGP多线和单线有什么区别?
运维·服务器
志栋智能10 小时前
超自动化运维如何提升安全合规水平?
运维·安全·自动化
A_humble_scholar11 小时前
Linux(九) 进程管理完全指南:从入门到实战
linux·运维·chrome