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); //禁用按钮
        //连接成功就不用在点了
    });
}
相关推荐
无足鸟ICT36 分钟前
【RHCA+】查看变量
linux·运维·服务器
Kina_C1 小时前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
EasyGBS1 小时前
ONVIF设备接入国标GB28181视频平台EasyGBS:不用国标也能一键拉流!
服务器·php·音视频
小小代码狗2 小时前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
慕伏白2 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
蓝创工坊Blue Foundry2 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
晚风吹长发2 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
jun_bai4 小时前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
RisunJan4 小时前
Linux命令-semanage(SELinux 策略管理)
linux·运维·服务器
流浪0014 小时前
Linux系统篇 21:文件(五)——动静态库、ELF 底层原理全解
linux·运维·服务器