标题:QT UDPSock 发射接收消息信号
作者:zxallen
日期:2020-09-18 11:33
内容:
各位大佬们好,本人QT小白一枚
最近学QT socket的时候发现了一个奇异的现象,大致情况如下:
构造函数中创建了一个udp套接字,该套接字绑定了本机的ip(本机ip即为“192.168.18.125”,端口为14551),如下所示;
udpSock = new QUdpSocket(this);
udpSock->bind(QHostAddress("192.168.18.125"), 14551);
heartTimer = new QTimer(this);
heartTimer->setInterval(100);
heartTimer->start();
connect(udpSock, SIGNAL(readyRead()), this, SLOT(receive()));connect(heartTimer, SIGNAL(timeout()), this, SLOT(sendDatagram()));
并且让该套接字定时发送消息给本机ip的另一个端口(即192.168.18.125:15551),如下所示;
void[color ..
#1 [liulin188 09-20 20:24]
#2 [hp_201111 09-21 15:05]
udpSock->writeDatagram(ba, QHostAddress("192.168.18.125"), 15551);
改成这样如何?
udpSock->writeDatagram(ba, QHostAddress("127.0.0.1"), 15551);
#3 回 liulin188 的帖子 [zxallen 09-21 17:39]
liulin188: (2020-09-20 20:24)
恕我愚昧 我不太理解您的意思
#4 回 hp_201111 的帖子 [zxallen 09-21 17:40]
hp_201111:udpSock->writeDatagram(ba, QHostAddress("192.168.18.125"), 15551);
改成这样如何?
udpSock->writeDatagram(ba, QHostAddress("127.0.0.1"), 15551); (2020-09-21 15:05)
我想问的是为什么发到本机ip的话会触发readyRead()信号?