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

}

相关推荐
云达闲人18 分钟前
搭建DevOps企业级仿真实验环境:012容器运行时 containerd 详解
运维·kubernetes·containerd·devops·proxmox ve·容器运行时·容器部署
1892280486120 分钟前
NV301固态MT29F32T08GWLBHD6-QJES:B
大数据·服务器·人工智能·科技·缓存
实心儿儿22 分钟前
Linux —— 进程间通信 - system V进程间通信 - 共享内存(2)
linux·服务器
小则又沐风a33 分钟前
深入了解进程概念 第二章
java·linux·服务器·前端
CCPC不拿奖不改名33 分钟前
PostgreSQL数据库部署linux服务器流程
linux·服务器·数据库·windows·python·docker·postgresql
MXsoft61835 分钟前
**运维标准化建设:让杂乱无章的工作变成可复制****流程**
运维
ZC跨境爬虫37 分钟前
跟着 MDN 学 HTML day_60:(表单与按钮技能测试实战)
服务器·前端·javascript·数据库·ui·html
William.csj44 分钟前
Linux——服务器后台运行程序指南(包含 Python 与 .sh 脚本实战)
linux·服务器·python
maosheng114644 分钟前
第二次作业(RHCE(https+http))
运维
秦歌6661 小时前
Agent Skills详解
服务器·前端·数据库