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); //禁用按钮
        //连接成功就不用在点了
    });
}
相关推荐
Dusk_橙子22 分钟前
在Linux中,如何查询已安装软件包的版本信息?
linux·运维·服务器
Golinie28 分钟前
【C++高并发服务器WebServer】-3:进程控制(退出进程、孤儿进程、僵尸进程、进程回收)
linux·服务器·c++·webserver
cheungxiongwei.com28 分钟前
解决 VMware Workstation Pro 中 Linux 虚拟机无法拖放文件及共享文件夹挂载问题
linux·运维·服务器·vmware·vm
boshushuoshuo33 分钟前
openlava/LSF 用户组管理脚本
linux·运维·服务器·lsf·openlava
云道轩1 小时前
在LINUX上单服务器安装Cognos Analytics V12.0.4
linux·运维·服务器
阿^觅1 小时前
Linux - 进程间通信(1)
linux·运维·服务器
木易GIS2 小时前
ArcGIS10.2 许可License点击始终启动无响应的解决办法及正常启动的前提
服务器·arcgis·arcpy
Hardess-god2 小时前
如何安装RAMS
运维·服务器
Hello.Reader2 小时前
Rust 中的方法与关联函数详解
服务器·开发语言·rust
yeyuningzi3 小时前
tomcat shutdown.sh不能关闭tomcat 进程
java·服务器·tomcat