SSDP协议的Android实现以及使用

本文详细介绍了如何在Android上实现SSDP协议,包括关键的发送广播、数据报格式和权限设置。提供了SSDPConstants、SSDPSearchMsg、SSDPSocket、SSDP以及MainActivity等关键类的源码,并强调需要在Manifest中添加相关权限。同时,给出了运行示例和源码下载链接,便于读者实践。
摘要由CSDN通过智能技术生成

前面一篇博客里面已经介绍过SSDP协议原理,本篇博客将实现实现Android上的SSDP协议。

关键技术分析:1、发送广播;需要发送送广播,所以需要使用MulticastSocket、SocketAddress、InetAddress,需要掌握。

    2、SSDP数据报格式;标准的SSDP Server解析的时候对于分段的字段选用的特征码是"\r\n",需要特别注意。

    3、访问权限;需要互联网,要在Mainfest中添加联网的相关权限。

以下是我的源码:

1、SSDPConstants.java

public class SSDPConstants {
/* New line definition */
public static final String NEWLINE = "\r\n";
public static final String ADDRESS = "239.255.255.250";
public static final int PORT = 1900;
public static final String SL_MSEARCH = "M-SEARCH * HTTP/1.1";
public static final String SL_OK = "HTTP/1.1 200 OK";
public static final String ST_Product = "ST:urn:schemas-upnp-org:device:Server:1";
public static final String Found = "ST=urn:schemas-upnp-org:device:";
public static final String Root = "ST:urn:schemas-upnp-org:device:DZBA_HomeDP:1";
}

2、SSDPSearchMsg .java

public class SSDPSearchMsg {
static final String HOST = "Host:" + SSDP.ADDRESS + ":" + SSDP.PORT;
static final String MAN = "Man:\"ssdp:discover\"";
static final String NEWLINE = "\r\n";
int mMX = 5; /* seconds to delay response */
String mST; /* Search target */

public SSDPSearchMsg(String ST) {
mST = ST;
}

public int getmMX() {
return mMX;
}

public void setmMX(int mMX) {
this.mMX = mMX;
}

public String getmST() {
return mST;
}

public void setmST(String mST) {
this.mST = mST;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值