ssdp 在android上的一些问题 01.07 更新 01.08再次更新

本文介绍了在Android上实现SSDP组播过程中遇到的问题及其解决方案。通过示例代码展示了如何使用MulticastLock、选择正确的网络接口、创建MulticastSocket进行组播监听。同时强调了MulticastLock的正确使用时机以及Android组播的电源管理特性。
摘要由CSDN通过智能技术生成

只用MulticastLock是不够的。

先看ubuntu miniDLNA/android BubleUPnP 的抓包例子:

# 192.168.2.103:33940 --> 239.255.255.250:1900
M-SEARCH * HTTP/1.1
Man: "ssdp:discover"
Mx: 3
Host: 239.255.255.250:1900
St: ssdp:all

# 192.168.2.109:1900 --> 192.168.2.103:33940
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=1810
DATE: Mon, 05 Jan 2015 15:27:27 GMT
ST: uuid:4d696e69-444c-164e-9d41-206a8a7025d1
USN: uuid:4d696e69-444c-164e-9d41-206a8a7025d1
EXT:
SERVER: 3.13.0-43-generic DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.1.4
LOCATION: http://192.168.2.109:8200/rootDesc.xml
Content-Length: 0

miniDLNA是开源的C代码,而我只关心android上怎么实现dlna client, 无赖BubleDLNA是闭源的。网上搜了一个例子UpnpDemo[1],核心部分是cling[2]。
而我关心的是里面的AndroidRouter。

# AndroidRouter
 super.lock();
 setWiFiMulticastLock(true); 
 setWifiLock(true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值