qt客户端与服务端通信

服务器要一处于监听状态

客户端主动连接服务器

服务器的ui界面

客户端的ui界面

很简陋

服务端listen 按钮的槽函数

QHostAddress::Any,port 监听任何端口

复制代码
void MainWindow::on_listen_clicked()
{

    if(ui->lineEdit->text().isEmpty())
    {
        return ;
    }
    int port = ui->lineEdit->text().toInt(); //获取liNe edit中的内容
   bool flag =  mserver->listen(QHostAddress::Any,port);//listen 返回值为bool
    if(flag)
   {
       QMessageBox::information(this,"NULL","成功");
   }
    else
    {
             QMessageBox::critical(this,"NULL","失败");
    }

}

客户端的连接槽函数

用户往textedit 中写入内容 连接主机 可以把主机地址设为自己的ip地址

连接成功后就不再使用连接按钮

复制代码
void Widget::on_connect_clicked()
{
    msocket = new QTcpSocket;
    //连接服务器
    if(ui->ipedit->text().isEmpty() || ui->portedit->text().isEmpty())
    {
        return ;
    }

    //获取填写的ip和端口号
    QString ipaddress = ui->ipedit->text();  //text(); 返回值为string
    int port = ui->portedit->text().toInt();

    //主机地址
    msocket->connectToHost(QHostAddress(ipaddress),port);//连接主机

    connect(msocket,&QTcpSocket::connected,this,[this](){

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

        ui->connect->setEnabled(false); //禁用按钮
        //连接成功就不用在点了
    });
}
相关推荐
亿坊电商3 分钟前
PHP后端项目中多环境配置管理:开发、测试、生产的优雅解决方案!
服务器·数据库·php
我命由我123453 小时前
Derby - Derby 服务器(Derby 概述、Derby 服务器下载与启动、Derby 连接数据库与创建数据表、Derby 数据库操作)
java·运维·服务器·数据库·后端·java-ee·后端框架
拥友LikT4 小时前
惠普DL380,Bios设置了U盘启动以后,读不到U盘(其他品牌服务器解决思路类似)
服务器·系统安装
我系真滴菜4 小时前
EMQX服务器调试
运维·服务器
含目的基因的质粒5 小时前
Python异常、模块、包
服务器·开发语言·python
2501_938790076 小时前
从 0 到 1:解决 VsCode 远程连服务器后 Github Copilot 无法使用问题
服务器·vscode·github
江輕木6 小时前
如何使用宿主机软件共享网络给CentOS 7
linux·运维·服务器
IT曙光6 小时前
在华为TaiShan 200系列服务器基于CentOS 7.6/7.7创建虚拟机
运维·服务器·centos
The Chosen One9857 小时前
【Linux】Linux下基本指令:man echo cp mv move less date grep zip tar 指令以及指令的本质
linux·运维·服务器
国服第二切图仔8 小时前
Rust开发之使用anyhow与thiserror简化错误处理
服务器·数据库·rust