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); //禁用按钮
        //连接成功就不用在点了
    });
}
相关推荐
野犬寒鸦1 小时前
从零起步学习Redis || 第十章:主从复制的实现流程与常见问题处理方案深层解析
java·服务器·数据库·redis·后端·缓存
海底列车2 小时前
ubuntu-20.04.6升级OpenSSH_10.2p1
linux·服务器·ubuntu
风清再凯3 小时前
01-iptables防火墙安全
服务器·网络·安全
做运维的阿瑞3 小时前
从传统Linux部署到容器化:实践对比与工程化指南
linux·运维·服务器
阿巴~阿巴~3 小时前
Centos 7/8 安装 Redis
linux·服务器·数据库·redis·centos
怀旧,3 小时前
【Linux系统编程】2. Linux基本指令(上)
linux·运维·服务器
stwood0073 小时前
codeigniter换服务器之后,会员登录之后又跳回登录页面的解决方法
服务器·php
老歌老听老掉牙4 小时前
基于 PyQt5 实现刀具类型选择界面的设计与交互逻辑
python·qt·交互
Wang's Blog4 小时前
Linux小课堂: 文件系统结构与核心命令解析
linux·运维·服务器
早晚会去希腊4 小时前
VScode怎么使用Jupyter并且设置内核
linux·运维·服务器