python SSDP 发现错误

python SSDP discovery error

req = ['M-SEARCH * HTTP/1.1',
           'HOST: 239.255.255.250:1900',
           'MAN: "ssdp:discover"',
           'ST: ssdp:all',
           'MX: 3',
           "", ""]
req = '\r\n'.join(req)
sock = socket(AF_INET, SOCK_DGRAM)
[sock.sendto(req, ('239.255.255.250',1900)) for i in range(3)]
resp, (addr,port) = sock.recvfrom(1024)

我使用此代码执行的 SSDP 发现请求仅检索根设备而不是所有 LAN 连接设备(三星电视、sky+hd 盒、笔记本电脑、个人电脑)。
有谁知道如何显示所有设备?

你只等一个答案,所以你只得到一个似乎合乎逻辑:) 这应该显示所有这些(包括 devices/services 发送的重复项)。

while (True):
    resp, (addr,port) = sock.recvfrom(1024)
    print resp