![Upnp 设备检测](https://linux22.com/image/1538433/Upnp%20%E8%AE%BE%E5%A4%87%E6%A3%80%E6%B5%8B.png)
我正在跟进这和其他类似的帖子,以便使用 upnp 协议检测我的支持 dlna 的扬声器。我的手机 (android) 检测并控制扬声器;但我想从我的电脑上执行此操作并将其连接为 dlna。
第一航站楼:
$ cat test.txt
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: ssdp:discover
MX: 10
ST: ssdp:all
第二航站楼:
$ nc -buvv 239.255.255.250 1900 < test.txt
Connection to 239.255.255.250 1900 port [udp/ssdp] succeeded!
第三航站楼:
$ sudo tcpdump -vv -A -s 0 -i wlan0 udp port 1900 and host 239.255.255.250
15:56:10.949878 IP (tos 0x0, ttl 1, id 41655, offset 0, flags [DF], proto UDP (17), length 29)
alarmpi.55492 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 1
E.....@...$....~.......l. ..X
15:56:10.950707 IP (tos 0x0, ttl 1, id 41656, offset 0, flags [DF], proto UDP (17), length 29)
alarmpi.55492 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 1
E.....@...$....~.......l. ..X
15:56:11.951350 IP (tos 0x0, ttl 1, id 41732, offset 0, flags [DF], proto UDP (17), length 29)
alarmpi.55492 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 1
E.....@...$....~.......l. ..X
15:56:12.951929 IP (tos 0x0, ttl 1, id 41748, offset 0, flags [DF], proto UDP (17), length 29)
alarmpi.55492 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 1
E.....@...$....~.......l. ..X
15:56:13.952504 IP (tos 0x0, ttl 1, id 41788, offset 0, flags [DF], proto UDP (17), length 29)
alarmpi.55492 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 1
E....<@...$s...~.......l. ..X
15:56:13.960469 IP (tos 0x0, ttl 1, id 41789, offset 0, flags [DF], proto UDP (17), length 114)
alarmpi.55492 > 239.255.255.250.ssdp: [udp sum ok] UDP, length 86
E..r.=@...$....~.......l.^..M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: ssdp:discover
MX: 10
ST: ssdp:all
看上去好像在工作,但是没有检测到任何东西。
有人知道我做错了什么吗?
谢谢
答案1
使用 dirkt 注释,我能够检测到我的 dlna 设备
gssdp-discover -i wlan0 --timeout=3
然后我修改了该帖子的内容:http://djoepnpoep.blogspot.co.za/2015/07/command-line-dlnaupnp-av-with-curl.html。很抱歉,由于声誉/链接限制,我无法发布我的解决方案......但小心使用“和行尾,这很容易。
我现在正在寻找有关 dlna 控制(播放、停止、暂停、恢复、声音控制)的更广泛的文档
对于我非常有限的需求来说,安装 pulseaudio 和 pulseaudio-dlna 似乎不是更明智的解决方案。
再次感谢。
编辑:朝这个方向看之后,我发现一些似乎可以完成这项工作的 .js 库:https://github.com/rexboy7/plug.play.js