python SSDP发现错误

时间:2015-03-06 13:13:09

标签: windows sockets python-2.7 ssdp

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发现请求仅检索root设备,而不是所有LAN连接设备(三星电视,天空+高清盒,笔记本电脑,PC)。 有谁知道如何显示所有设备?

1 个答案:

答案 0 :(得分:0)

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

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