### 短信PDU(Protocol Data Unit)详细介绍 #### 一、短信PDU概述 在探讨短信PDU之前,我们需要了解短信是如何在网络中传输的。短信服务是一种广泛使用的通信方式,尤其在早期的移动通信时代更为普遍。PDU模式是处理短信的一种常见方式,特别是在Android系统的MMS应用开发中尤为重要。 PDU全称为Protocol Data Unit,即协议数据单元,它是在网络通信过程中用于封装数据的格式。对于短信来说,PDU包含了完整的短信信息,包括但不限于发送者、接收者、时间戳等元数据以及实际的消息内容。 #### 二、短信接收流程 在短信接收过程中,PDU模式下的短信数据格式如下: ``` +CMT:<mem>,<index>,<encoding>,<oa>,[<tsid>,]<cb>, [<ddt>],<dispmode>,<priority>,<length>,<CR<LF> <data><CR<LF> ``` 这里的关键字段包括: - **mem**: 存储位置标识。 - **index**: 消息在存储中的索引。 - **encoding**: 编码方式。 - **oa**: 发送者的地址。 - **tsid**: 可选的时间戳ID。 - **cb**: 可选的CB消息标志。 - **ddt**: 可选的发送日期和时间。 - **dispmode**: 显示模式。0表示立即显示,1表示按照默认模式显示,2表示由用户触发显示,3为保留值。 - **priority**: 优先级。0表示普通,1表示交互式,2表示紧急,3表示最高紧急级别。 - **length**: 数据长度。 - **data**: 实际的数据内容。 对于多分包短信,前6个字节为包头,包含以下信息: - **05**: 消息头字节长度。 - **00**: 拆分消息头标识。 - **03**: 消息头内容长度。 - **02**: 消息参考号。 - **02**: 消息拆分总条数。 - **01**: 消息拆分序号。 例如,如果接收到一条多分包短信“123”,其PDU格式可能如下所示: ``` 050003020201313233 ``` 这里的`050003020201`为包头,`313233`则为短信的实际内容。 #### 三、短信发送流程 短信的发送同样依赖于PDU格式,主要通过AT指令完成: 1. **设置短信优先级**:使用`AT+CMPR=<Priority>`来设置发送短信的优先级,默认值为0,即普通级别。 2. **设置短信有效期**:使用`AT+CSMP=<vp>[,<tsid>[,<encoding>]]]`来设置短信的有效期,其中`vp`为有效期参数。 3. **设置发送报告**:使用`AT+CRPL=<DakReq>`来设置是否需要发送报告,0表示不需要,1表示需要。 #### 四、WAP Push消息 除了标准的短信外,还有一种特殊的短信类型——WAP Push消息。这类消息通常用于推送WAP链接到手机上,以引导用户访问特定的网页或下载内容。WAP Push消息的data部分的第4、5字节固定为“0b84”。 当AT驱动程序接收到这样的WAP Push消息时,需要将其转发给相应的协议进行处理。 #### 五、总结 短信PDU是短信通信的基础,对于Android开发者而言,理解和掌握短信PDU格式对于开发相关的应用至关重要。无论是短信的接收还是发送,都需要严格按照规定的格式进行编码和解码。此外,对于特殊类型的短信如WAP Push消息,也需要了解其独特的格式和处理方式。这些基础知识不仅有助于开发者更好地实现短信功能,也能够帮助他们在遇到问题时快速定位并解决问题。
- t21yxm02013-09-27一般 没啥大的作用,没有自己的理解!
- 粉丝: 25
- 资源: 62
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip
- 功能齐全的 Java Socket.IO 客户端库,兼容 Socket.IO v1.0 及更高版本 .zip
- 功能性 javascript 研讨会 无需任何库(即无需下划线),只需 ES5 .zip
- 分享Java相关的东西 - Java安全漫谈笔记相关内容.zip
- 具有适合 Java 应用程序的顺序定义的 Cloud Native Buildpack.zip
- 网络建设运维资料库职业