先看效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/bacea0a468a34c519a3b8d98e5fedeba.png)
代码如下:
添加网络通信模块
QT += core gui network
发送端:
#include <QUdpSocket>
QUdpSocket udpSocket;
QByteArray data;
int value = ui->lineEdit->text().toInt();
#if 0
QDataStream stream(&data, QIODevice::WriteOnly);
stream << value;
udpSocket.writeDatagram(data, QHostAddress("127.0.0.1"), 5824);
#else
data.append((char*)&value, sizeof(int));
udpSocket.writeDatagram(data.data(), data.size(), QHostAddress("127.0.0.1"), 5824);
#endif
接收端:
#include <QUdpSocket>
private slots:
void recvMsg();
private:
Ui::MainWindow *ui;
QUdpSocket *recvSocket;
quint16 recvPort = 5824;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
recvSocket = new QUdpSocket(this);
bool result = recvSocket->bind(QHostAddress("127.0.0.1"), recvPort);
if (result)
connect(recvSocket, SIGNAL(readyRead()), this, SLOT(recvMsg()));
}
void MainWindow::recvMsg()
{
while(recvSocket->hasPendingDatagrams())
{
QByteArray recvData;
recvData.resize(recvSocket->pendingDatagramSize());
recvSocket->readDatagram(recvData.data(),recvData.size());
int recvValue = 0;
memcpy(&recvValue, recvData.constData(), sizeof(int));
ui->lineEdit->setText(QString::number(recvValue));
}
}
希望对大家有帮助,共同进步!!!