qt交叉编译环境搭建_qt socket

SSDP简介

简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一。 简单服务发现协议提供了在局部网络里面发现设备的机制。控制点(也就是接受服务的客户端)可以通过使用简单服务发现协议,根据自己的需要查询在自己所在的局部网络里面提供特定服务的设备。设备(也就是提供服务的服务器端)也可以通过使用简单服务发现协议,向自己所在的局部网络里面的控制点宣告它的存在。

SSDP协议包括三种消息

SSDP 发现请求(ssdp::discover) SSDP心跳(ssdp::alive) SSDP离线(ssdp::byebye)

代码

#include "widget.h"
#include "ui_widget.h"

#include <QHostAddress>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    m_groupAddress = QHostAddress("239.255.255.250");
    m_socket = new QUdpSocket(this);
    auto ok = m_socket->bind(QHostAddress::AnyIPv4, 56123, QUdpSocket::ShareAddress);
    connect(m_socket,SIGNAL(readyRead()),this,SLOT(readMsg()));
    if (!ok)
    {
        return;
    }

    ok = m_socket->joinMulticastGroup(m_groupAddress);
    if (!ok)
    {
        return;
    }
}

Widget::~Widget()
{
    delete ui;
}

void Widget::readMsg()
{
    while (m_socket->hasPendingDatagrams()) {
        QByteArray reply;
        reply.resize(m_socket->pendingDatagramSize());
        m_socket->readDatagram(reply.data(), reply.size());
        qDebug() << reply.data();
    }
}


void Widget::on_pushButton_clicked()
{
    QByteArray message("M-SEARCH * HTTP/1.1\r\n"        \
                       "Host:239.255.255.250:1900\r\n" \
                       "ST:urn:schemas-upnp-org:device:Basic:1\r\n" \
                       "Man:\"ssdp:discover\"\r\n" \
                       "MX:3\r\n" \
                       "\r\n");

    auto writeOk = m_socket->writeDatagram(message.data(),m_groupAddress, 1900);
    if (writeOk == -1)
    {
        qDebug() << "Writing Datagram failed";
    }
}

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 Qt 在 ARM 平台上的交叉编译环境,可以按照以下步骤进行操作: 1. 安装交叉编译工具链:首先,你需要安装适用于 ARM 平台的交叉编译工具链。这个工具链包括编译器、链接器和其他必要的工具。你可以从 ARM 官方网站或者硬件供应商的官方网站上下载适用于你的平台的工具链。 2. 设置环境变量:将交叉编译工具链的路径添加到系统的 PATH 环境变量中,以便在命令行中可以直接使用交叉编译工具。例如,在 Linux 系统中,可以通过编辑 ~/.bashrc 文件,并在其中添加以下行来设置环境变量: ``` export PATH=/path/to/cross-compiler/bin:$PATH ``` 其中,`/path/to/cross-compiler` 是你安装的交叉编译工具链的路径。 3. 下载 Qt 源代码:在 Qt 官方网站上下载适用于 ARM 平台的 Qt 源代码包。确保选择与你的交叉编译工具链兼容的版本。 4. 解压源代码:将下载的源代码包解压到一个目录中。 5. 配置 Qt 编译选项:在解压后的源代码目录中打开一个命令行终端,执行以下命令来配置 Qt 编译选项: ``` ./configure -prefix /path/to/qt/installation -xplatform linux-arm-gnueabi-g++ -release -opensource -confirm-license ``` 其中,`/path/to/qt/installation` 是你希望 Qt 安装到的目标路径。`linux-arm-gnueabi-g++` 是交叉编译工具链的前缀,根据你的工具链名称进行相应的替换。 6. 编译 Qt:配置完成后,执行 `make` 命令来开始编译 Qt。这个过程可能需要一些时间,取决于你的系统性能和编译选项。 7. 安装 Qt编译完成后,执行 `make install` 命令来安装 Qt 到指定的安装路径。 完成以上步骤后,你就成功搭建Qt 在 ARM 平台上的交叉编译环境。现在你可以使用这个环境编译运行在 ARM 平台上的 Qt 应用程序了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值