0
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 连接设备(三星电视、天空+高清盒、笔记本电脑、PC)。
有谁知道如何显示所有设备?

4

1 回答 1

0

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

while (True):
    resp, (addr,port) = sock.recvfrom(1024)
    print resp
于 2015-03-06T14:11:26.053 回答