我正在我的笔记本电脑上使用Ubuntu14.04LTS来承载一个Windows7 VirtualBox实例。我想做的是将笔记本电脑连接到一个网络(有线或无线),然后在Windows中运行一个连接到IPv4组播的应用程序。这个应用程序是用QT4.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 (将杂乱模式设置为允许所有),但两者都不起作用。
VirtualBox只是不允许这样做,还是在VM或Linux主机上有什么需要调整的设置?
注意:我不能在Linux中运行Qt应用程序,因为它依赖于只为Windows构建的第三方库。
发布于 2015-11-06 03:39:34
最后,我通过跟踪我遇到的一个USB问题,意外地修复了它--感谢Ramon Suarez对VirtualBox doesn't recognize USB的回答。
发布于 2015-10-23 23:06:14
尝试在Virtualbox中的VM网络适配器上设置Promiscious以“允许所有人”。
https://stackoverflow.com/questions/33311845
复制相似问题