我有三个网络接口的计算机-一个真实的和两个VMWare虚拟的。我希望在端口1900上接收来自UPNP设备的多播消息。
我试图激活所有适配器并为每个适配器创建一个套接字。另外,我设置了套接字选项ReuseAddr,关闭ExclusiveAddrUse套接字选项,并将每个套接字添加到多播组239.255.255.250。我将套接字绑定到addr: InterfaceAddr:1900
问题是,只有一个套接字接收消息-一个VMWare网络套接字。netstat -a -o -p UDP >netstat.txt向我展示了我所有的套接字都在监听:
Proto Local address
我想通过模拟器应用程序注册一个NSD服务。该模拟器在连接到本地网络的linux ubuntu机器上运行。
我按照中列出的说明进行操作。
当我在我的Nexus设备上运行应用程序时,我可以注册该服务。我已将nexus设备连接到相同的本地网络。我正在使用avahi-browse --all命令检查已注册的服务。当我在nexus设备上运行应用程序之后运行此命令时,我得到了新注册的服务的条目。
以下是命令运行的输出:
+ eth0 IPv4 NsdChatEmulator_3 Web Site local
+ eth