精华内容
下载资源
问答
  • QT UDP 发送数据

    2018-02-05 18:15:09
    QT UDP Server发送数据 主机Port 可以利用spinbnox进行设定, 发送任意字符给UDP Client.
  • Qt UDP QUdpSocket多线程实例 movetothread
  • Qt UDP 广播简单示例

    2017-12-03 19:08:25
    Qt 实现 UDP 简单的广播示例,通过QUdpSocket 类,这里实现两个工程,服务端和客户端,由服务器端发送广播消息到每个客户端接收显示。
  • qt udp多线程收发数据

    2018-04-08 16:37:17
    基于多线程的QUdpSocket收发数据程序,界面上可以输入目标ip、port,与网络调试助手调试ok 欢迎下载,并指出程序中的问题,谢谢
  • Qt 实现UDP数据接收绘制动态图,可以指定IP地址和端口
  • Qt UDP通信 新手使用

    2017-07-19 10:26:56
    里面有一个客户端和一个服务端,可直接编译使用,代码较简单,适合新手使用。现在下载多了分会自动往上涨,高了就评一下,我去改低些。
  • QTUDP通信Demo

    2017-11-09 21:58:22
    使用Qt写的UDPDemo,另外在博客中有详细的知识讲解,从零开发B/S机架应用程序(三)-UDP
  • QT udp实例

    2018-03-23 12:33:13
    Qt环境下使用udp socket实现网络通信的一个精简的例子
  • QT UDP通信简单实例

    2017-02-20 15:46:01
    C和C++混合编程下实现通信
  • qt udp传输文件

    2015-10-30 17:54:16
    qt实现udp传输文件(图片、文档之类)里面还包含tcp传输数据(不是文件)
  • Qt UdpSocket通信小例子

    2017-02-16 15:08:07
    利用Qt的QUdpSocket实现通信的一个简单小例子
  • qt udp client 带有响应发送端响应 大多数都只给了client 端的接收 但是实际运用中 是需要接收端给发送端报文响应
  • Qt UDP通信demo

    2020-11-27 20:34:22
    Qt中通过QUdpSocket类实现UDP协议的编程。通过一个实例,介绍如何实现基于UDP协议的广播应用,它由UDP服务器和UDP客户端两部分组成。 UDP方式下客户端并不与服务器建立连接,它只负责调用发送函数向服务器发送数据报...
  • Qt 实现UDP数据发送接收,IP地址 ,端口
  • QT UDP组播的实现

    热门讨论 2014-04-18 16:53:31
    QT实现UDP的接收和发送,包括组播的加入和相关操作
  • QT UDP文件传输

    2013-05-27 20:25:31
    使用qt creator 编写QT udp网络传输程序
  • Qt udp.rar

    2019-11-14 18:58:53
    qt udp示例
  • qt udp编程

    2017-11-24 15:40:26
    本资源简单的描述是qt基于udp协议的客户端和服务端通信的简单示例源码
  • QT UDP错误

    2021-09-23 17:32:54
    qt写的一个udp,别人电脑上可以运行的代码,在这里出现了错误

    qt写的一个udp,别人电脑上可以运行的代码,在这里出现了错误

     

     

    展开全文
  • 代码实现的是qt定时发送udp数据包 并实现发送的数据包计数与反馈的数据包计数 进行对比 确认网络的稳定性以及是否有丢包现象
  • qt udp 收发测试

    2018-03-09 16:18:06
    QT环境下进行UDP SOCKET收发测试,自动识别本地IP,IP端口软件可以自动设置
  • QT UDP传输结构体

    2021-04-20 10:59:52
    UDP传输中,为了使接收方更方便的判断对方发来的是文字还是图片还是其他类型的数据。将定义一个结构体 头文件中 public: struct MessageType { QString send_id; // 发送方的ID QString recv_id; // 接收方的ID ...

    对象转换为二进制——>序列化
    二进制转换为对象——>反序列化

    UDP传输中,为了使接收方更方便的判断对方发来的是文字还是图片还是其他类型的数据。将定义一个结构体

    头文件中

    public:
        struct MessageType
        {
            QString send_id;       // 发送方的ID
            QString recv_id;       // 接收方的ID
            QString msg_type;      // 消息类型
            QString msg_data;      // 消息数据
        };
    

    cpp
    发送

        QByteArray data;
        QDataStream out(&data,QIODevice::WriteOnly);
    //    QString msg = text->toHtml();
        QString msg1= text->toPlainText();
        if(textEditPhotoPath != "")   //发送图片
        {
            image.load(textEditPhotoPath);
            image_file_data = get_imagedata_from_imagefile(image);//获取图片数据
            QString strport = ui->lineEdit->text();
    
            if(strport == "")
                return;
            int iport = strport.toInt();
            
            MessageType mt;
            mt.send_id = "send";
            mt.recv_id = "recv";
            mt.msg_type = "photo";
            mt.msg_data = image_file_data;
    
            QByteArray text_data;
            QDataStream write(&text_data,QIODevice::WriteOnly);
            write << mt.send_id << mt.recv_id << mt.msg_type << mt.msg_data;
            
            udpSocket->writeDatagram(text_data,text_data.size(),QHostAddress::Broadcast, iport);
        //    udpSocket->writeDatagram(image_file_data.toLatin1(),image_file_data.size(),QHostAddress::Broadcast, iport);
            textEditPhotoPath = "";
    
        }
        else    // 发送文字
        {
            QString strport = ui->lineEdit->text();
            if(strport == "")
                return;
            int iport = strport.toInt();
    
            MessageType mt;
            mt.send_id = "send";
            mt.recv_id = "recv";
            mt.msg_type = "text";
            mt.msg_data = msg1;
    
            QByteArray text_data;
            QDataStream write(&text_data,QIODevice::WriteOnly);
            write << mt.send_id << mt.recv_id << mt.msg_type << mt.msg_data;
            udpSocket->writeDatagram(text_data,text_data.size(),QHostAddress::Broadcast, iport);
        }
         text->clear();
    

    接收

    while(udpSocket->hasPendingDatagrams())
    {
        qDebug()<<" recv----------------------------------------------";
        QByteArray datagram;
        datagram.resize(udpSocket->pendingDatagramSize());
        udpSocket->readDatagram(datagram.data(),datagram.size());//接收一个数据报,并将其存储在data中。返回的是数据报的长度
    
        int dataSize =  datagram.size();
        qDebug()<< "dataSize" << dataSize;
    
        QDataStream read(&datagram,QIODevice::ReadOnly);  //读取数据流
        MessageType mt;
        read >> mt.send_id >> mt.recv_id >> mt.msg_type >> mt.msg_data;
    
        qDebug()<<"mt.send_id"<< mt.send_id <<"mt.recv_id" <<mt.recv_id <<" mt.msg_type"<< mt.msg_type <<" mt.msg_data"<< mt.msg_data;
    
    
    if(mt.msg_type == "text")
    {
      ...
      ...
    }
    else if(mt.msg_type == "photo")
    {
    	...
    	...
     //QString 转为 QByteArray 
    	QByteArray bytes = mt.msg_data.toUtf8();// .toUtf8();
        QImage image_temp = get_imagedata_from_byte(bytes);
        savePhoto(bytes);
    }
    
    
    
    展开全文
  • QT udp通信程序示例

    2020-12-16 20:28:35
    前几天做项目,需要设备之间进行通信。刚开始选用的是TCP进行通信,结果发现tcp如果用...以下是qt udp通信程序的示例,包括两个文件,udpcomm.h和udpcomm.cpp,需要udp通信的话,直接加入两个文件即可。 udpcomm.h #

    前几天做项目,需要设备之间进行通信。刚开始选用的是TCP进行通信,结果发现tcp如果用自己封装的类的话,粘包问题是很难解决的(可以选用第三方封装好的库)。最后选用udp进行通信。学过的因该都知道,udp是一种部不可靠的数据报服务,在测试中发现,如果在网络状态可靠(自己搭建的局域网)的情况下,udp通信是没有任何问题的,几乎不会出现丢包的情况。

    以下是qt udp通信程序的示例,包括两个文件,udpcomm.h和udpcomm.cpp,需要udp通信的话,直接加入两个文件即可。

    udpcomm.h

    #ifndef UDPCOMM_H
    #define UDPCOMM_H
    
    #include<QUdpSocket>
    #include<QIODevice>
    #include <QObject>
    #include"address.h"
    class udpComm:public QObject
    {
        Q_OBJECT
    public:
         explicit udpComm(QObject *parent = nullptr);
    
        void sendData(QByteArray msg,QHostAddress address,quint16 port);
    
    public slots:
        void recive();
    private:
        QUdpSocket *socket;
    
    signals:
        void newMessage(QByteArray data);
    };
    
    #endif // UDPCOMM_H
    

    udpcomm.cpp

    #include "udpcomm.h"
    //构造函数中进行己方端口的绑定
    udpComm::udpComm(QObject *parent) : QObject(parent)
    {
        socket = new QUdpSocket();
        if(!socket->bind(QHostAddress(SUIDONGADD),8888))
            qDebug()<<"bind error!";
        connect(socket,&QUdpSocket::readyRead,this,&udpComm::recive);
    
    }
    //信息,接收方的地址和端口号
    void udpComm::sendData(QByteArray msg, QHostAddress address, quint16 port)
    {
    
        socket->writeDatagram(msg,address,8888);
    }
    
    
    
    void udpComm::recive()
    {
    
        while(socket->hasPendingDatagrams())
        {
            QByteArray ba;
            ba.resize(socket->pendingDatagramSize());
            socket->readDatagram(ba.data(),ba.size());
            emit newMessage(ba);
    
        }
    }
    

    在上述代码中,如果要监听udp通信发送消息,只需要建立建立槽函数,然后和newMessage信号之间建立关联即可。

     

    展开全文
  • qt实现udp通讯,不仅可以发送接收文字,还能收发图片,代码简单易懂适合新手。本例子中收发软件都是同一个,用时记得改下代码里的ip和端口
  • Qt UDP 广播

    2020-10-15 15:23:53
    Qt UDP 广播 发送方 timer = new QTimer(this);//创建一个定时器,定时广播数据 udpSocket = new QUdpSocket(this);//创建一个 udp socket QByteArray datagram = "Broadcast message " + QByteArray::number...

    Qt UDP 广播

    发送方

     timer = new QTimer(this);//创建一个定时器,定时广播数据
     udpSocket = new QUdpSocket(this);//创建一个 udp socket
    
    QByteArray datagram = "Broadcast message " + QByteArray::number(messageNo);
    udpSocket->writeDatagram(datagram.data(), datagram.size(),
                                 QHostAddress::Broadcast, 4444);//组装数据并发送到广播地址和指定端口
    

    接受方

    
     udpSocket = new QUdpSocket(this);//创建一个udp socket
     udpSocket->bind(4444);//从广播指定端口号 接受数据
    
     connect(udpSocket, SIGNAL(readyRead()),
                this, SLOT(processPendingDatagrams()));
    
    
    
    void processPendingDatagrams
    {
        while (udpSocket->hasPendingDatagrams()) 
        {
            QNetworkDatagram netWorkObj = udpSocket->receiveDatagram();
            qDebug() << netWorkObj.senderPort()  
            << netWorkObj.senderAddress() 
            << netWorkObj.data().data();//获取数据发送方的端口号和IP地址
        }
    }
    
    

    推荐链接 Qt 中文文档

    展开全文
  • 在学习QT的过程中,怎么用QUdpSocket的过程中,实现包含中文字符的字符串传输呢? 总的来说就是要把要传输的字符串转化成const char* 进行传输,在传输前要给转化成char*的数据,加上"\0"的字符串结束符。 即先...
  • QT UDP通信(单播、广播、组播)

    千次阅读 热门讨论 2021-03-22 21:50:26
    UDP是轻量的、不可靠的、面向数据报、无连接的协议,它可以用于对可靠性要求不高的场合,与TCP通信不同,无需建立持久的socket连接。 QUdpSocket用于实现UDP通信,与QTcpSocket主要区别是,QUdpSocket以数据报传输...
  • 利用udp网络协议实现简单的发送机和接收机
  • UDP数据绘动态图_qtudp_QtUDP动态图_UDP接收qt_udpqt_udp生动动图_源码.zip
  • UDP数据绘动态图_qtudp_QtUDP动态图_UDP接收qt_udpqt_udp生动动图_源码.rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,471
精华内容 3,788
关键字:

qtudp