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

}

相关推荐
失伟1 天前
Stratovirt安装及使用
运维·虚拟化
萌萌哒草头将军1 天前
CloudDock(云仓):新一代开源NAS网络代理工具
服务器·网络协议·docker
捧月华如1 天前
Linux 系统性能压测工具全景指南(含工程实战)
linux·运维·服务器
s19134838482d1 天前
vlan实验报告
运维·服务器·网络
微涼5301 天前
【Python】在使用联网工具时需要的问题
服务器·python·php
想唱rap1 天前
线程的同步与互斥
linux·运维·服务器·数据库·mysql
格林威1 天前
SSD 写入速度测试命令(Linux)(基于工业相机高速存储)
linux·运维·开发语言·人工智能·数码相机·计算机视觉·工业相机
勇闯逆流河1 天前
【LInux】linux控制(进程替换,自主shell的实现详解)
linux·运维·服务器
IMPYLH1 天前
Linux 的 ls 命令
linux·运维·服务器·bash
笨笨饿1 天前
33_顺序表(待完善)
linux·服务器·c语言·嵌入式硬件·算法·学习方法