|
|
DMT10600T070,用UDP测试网口。从38WTC能发出数据报,但是接收不到对端发送的数据。是哪里问题?
部分代码:
#include <QNetworkDatagram>
#include <QObject>
#include <QUdpSocket>
#include <QLabel>
#include <QHostAddress>
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{ ……
m_udp = new QUdpSocket(this);
m_udp->bind(QHostAddress::LocalHost,4000);
connect(m_udp,SIGNAL(readyRead()),this,SLOT(on_readyRead()));
……}
void MainWindow::on_readyRead()
{
qDebug()<<"收到数据";
QByteArray array ;
QNetworkDatagram datagram;
while(m_udp->hasPendingDatagrams())
{
datagram = m_udp->receiveDatagram();
array = datagram.data();
}
ui->label_3->setText(datagram.senderAddress().toString());
qDebug()<<datagram.senderAddress().toString();
}
//udp发送函数,向电脑端发送
//主机ip地址192.168.10.178
void MainWindow::on_pBtnFive_2_clicked()
{
QHostAddress address("192.168.10.178");
char buf[32];
buf[0]=0x01;
buf[1]=0x02;
buf[2]=0x03;
m_udp->writeDatagram(buf,0x03,address,4001);
}
通过UDP测试工具,给屏工程发送数据,on_readyRead()未被执行。是哪里问题呢?测试代码在电脑端运行正常。
|
|