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); //禁用按钮
        //连接成功就不用在点了
    });
}
相关推荐
Viking_bird8 小时前
centos 7.5 + Hadoop 3.2.4 集群搭建
linux·运维·服务器·hadoop·centos
看到我,请让我去学习10 小时前
QT - QT开发进阶合集
开发语言·qt
Lovyk11 小时前
基于 Ansible 与 Jinja2 模板的 LNMP 环境及 WordPress 自动化部署实践
linux·运维·服务器·自动化·ansible
知白守黑26712 小时前
Linux磁盘阵列
linux·运维·服务器
TPBoreas14 小时前
Jenkins启动端口修改失败查找日志
运维·服务器·jenkins
正在努力的小河16 小时前
Linux设备树简介
linux·运维·服务器
小张快跑。16 小时前
Tomcat下载、安装及配置详细教程
java·服务器·tomcat
没有不重的名么18 小时前
Tmux Xftp及Xshell的服务器使用方法
服务器·人工智能·深度学习·机器学习·ssh
wdxylb18 小时前
云原生俱乐部-杂谈1
服务器·云原生
赏点剩饭77821 小时前
linux中的hostpath卷、nfs卷以及静态持久卷的区别
linux·运维·服务器