如何在Linux上的Win7 VM中使用多播?

时间:2015-10-23 21:44:19

标签: linux windows qt virtualbox multicast

我在笔记本电脑上使用Ubuntu 14.04 LTS来托管Windows 7 VirtualBox实例。我想要做的是将笔记本电脑连接到网络(有线或无线),然后在Windows VM中运行连接到IPv4多播的应用程序。该应用程序是用Qt 4.8.2编写的,我在QtCreator中运行它。当我运行应用程序时,它无法加入多播组:

QUdpSocket *udpSocket = new QUdpSocket(this);
bResult = udpSocket->bind(port, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);
bResult = udpSocket->joinMulticastGroup(address);

如果我进入joinMulticastGroup(),我可以看到setsockopt()返回-1。此代码在本机Windows中正常工作。我尝试将VM网络连接到NAT或桥接网络连接到eth0(混杂模式设置为Allow All)但是都不起作用。

VirtualBox不允许这样做,或者在VM或Linux主机上需要调整某些设置吗?

注意:我无法在Linux中运行Qt应用程序,因为它依赖于仅为Windows构建的第三方库。

2 个答案:

答案 0 :(得分:1)

尝试在Virtualbox中的VM网络适配器上将Promiscious Mode设置为“Allow All”。

答案 1 :(得分:0)

最后,我通过跟进我遇到的USB问题意外修复了它 - 感谢Ramon SuarezVirtualBox doesn't recognize USB的回答。