在QT上使用UDP进行通信

2025-11-07 05:32:25

1、UDP的一条完整通信链路可以分为3步:Bind、Send、Receive。

首先,

1)在工程里加入:QT+=network,并qmake 

 

2)包含头文件

2、第二-Bind 

 

将本地IP地址和端口进行绑定 

3、第三- Send 

 

获得接收端的IP和端口,将要发送到数据放到数组中,用writeDatagram发送 

4、第四

- Receive 

 

先用haspendindDatagram检测数据是否接收到,再用readDatagram进行读取

1、quint16 port=8080;

    RecvTP_UdpSocket.bind(QHostAddress("127.0.0.1"),port);

    SendTP_UdpSocket.bind(QHostAddress("192.168.0.1"),port);

    SendTP_UdpSocket.writeDatagram(tpByteArray,QHostAddress("127.0.0.1"),port);

    qDebug()<<"Send the data!";

    for(;;)

    {

        if(RecvTP_UdpSocket.hasPendingDatagrams())

        {

            QByteArray dataarray;

            dataarray.resize(RecvTP_UdpSocket.pendingDatagramSize());

            qint64 size=RecvTP_UdpSocket.readDatagram(dataarray.data(),dataarray.size());

            if(size<0)

            {break;}

            QString strData(dataarray.data());

            qDebug()<<"get the information!";

            ui->plainTextEdit_TP->setPlainText(strData);

        }

    }

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢