Qt udp 主机和虚拟机无法互相广播

描述:

  主机和虚拟机可以ping通,port没被占用,虚拟机可以向主机广播,但是主机不能向虚拟机广播

原因:

  虚拟机只配置了一个适配器,而主机有多个适配器,当虚拟机广播时,只能使用和主机连接的适配器,所以虚拟机能对主机广播,但是主机广播时,主机可能随便用个适配器,因此虚拟机无法收到主机的广播。

解决方法:

  广播时,指定网段。

示例:

  主机

m_udp->bind(QHostAddress::Any, ui->portLineEdit->text().toInt()); 


 m_udp->writeDatagram(ui->writeTextEdit->toPlainText().toUtf8(), QHostAddress(QString("192.168.11.255")), 8888);    // 指定网段广播

猜你喜欢

转载自www.cnblogs.com/yangxinrui/p/10562032.html