2

我想实现一个代码,通过它我可以列出网络上连接的符合 upnp 的媒体渲染器设备。我搜索了这个并在扭曲的网站上找到了以下代码

当我的机器上连接了 2 个网络(以太网和 wifi)时,它只列出了一个网络的设备。

code

from twisted.internet.protocol import DatagramProtocol
from twisted.internet import reactor
import re

class MulticastPingPong(DatagramProtocol):
    XMLNS = "{urn:schemas-upnp-org:device-1-0}"

    def startProtocol(self):
        # Join the multicast address, so we can receive replies:
        self.transport.joinGroup("239.255.255.250")

    def datagramReceived(self, datagram, address):
        if(re.search("USN:.*MediaRenderer", datagram, flags=re.IGNORECASE)):
            # code to print friendly name

reactor.listenMulticast(1900, MulticastPingPong(), listenMultiple=True)
reactor.run()

如何搜索多个网络的设备?

4

0 回答 0