`

基于RxTx的短信发送-长短信pdu

阅读更多

    众所周知,可能有些人未必知道,pdu发送短信是有字数限制的,信息体长度不超过140字节,如果采用uni编码一个字需要两个字节算的话正好70个字,这就是为什么以前的手机每条短信只能发送差不多70个字,那为什么现在就可以发送很长的短信呢?原因是现在设备都支持长短信(pdu分包)的协议,即像http包一样拆分发送到达以后组装成一个完整的请求返回。好了废话不多说了下面介绍拆分pdu的协议,知道了协议编写长短信发送的代码就是小case。

    

    发送协议介绍

SCA(Service Center Address) PDU-Type MR(Message Reference) DA(Dest Address) PID DCS(Data Config Schema) VP(Validity Period) UDL(User Data Length) UD(User Data)
1 byte 1byte 2byte 8byte 1byte 1byte 1byte 1byte ...

 

 

 

 

 

   

 

   SCA:短信中心号,如果设置00表示使用SIM卡中的默认短信中心号,还可以设置其他短信中心号这种情况不至1byte

   MR: 一般为00

   DA:发送的目标号

   DCS:数据编码方式,08ucs2用于汉字(汉子不是妹子),00是7bit编码英文编码,04是8bit编码用于图片

   VP:有效期一般FF

   UDL:指UD的字节数

   Pdu-Type:51有报头的短信,11普通短信   

 

   PDU-Type 类型说明

bit 发送 接收 说明
7 RP RP

0:不带恢复地址

1:带恢复地址

6 UDHI UDHI

0:UD只是短信内容

1:UD开头是用户报头

5 SRR SRI

0:不反馈报告

1:需要反馈

4,3 VPF VPF 设置VP格式一般为10表示相对格式VP占1byte
2 RD MMS

0:普通短信

1:长短信

1,0 MTI MYI 01:发送,00:接收

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

UD中除了短信内容还有UDHeader

    UDHeader说明

1 UDHL 05:协议头长度
2 information element identifier 00:用一个字节进行编号的长短信
3 length of sub-header 03:信息单元头长
4 reference number 参考号  区别不同短信的唯一标示
5 number of short msg  拆分后总条数
6  sequence number of ther current   拆分后第几条

 

分享到:
评论

相关推荐

    rxtx-2.1-7-bins-r2.zip_RXTX-2.1_RXTX-2.1-7pre16_rxtx-2.1-7-bins-

    在"rxtx-2.1-7-bins-r2.zip"压缩包中,"rxtx-2.1-7pre16"可能是指RXTX的另一个预发布版本,而"rxtx-2.1.7.jar"是核心的Java库文件,包含RXTX的Java类。"www.pudn.com.txt"可能是一个说明文档或者下载来源的记录,...

    rxtx-2.1-7-bins-r2.zip_RXTX-2.1-7_Rxtx.zip_rxtx_smpp_短信协议 smpp

    4. **支持长短信**:SMPP能够处理长短信,将一条超过160个字符的短信拆分成多个短信片段发送。 5. **支持多种编码**:包括7位ASCII、8位GSM、UCS2等多种字符编码方式,满足不同语言和字符集的需求。 在压缩包中的...

    RXTX-2-2-20081207-Linux-x86_64.zip

    在给定的文件"RXTX-2-2-20081207-Linux-x86_64.zip"中,包含了适用于64位Linux系统的RXTX库版本2.2,发布日期为2008年12月7日。 **RXTX库的核心功能:** 1. **串行通信接口**:RXTX提供了一组全面的API,允许Java...

    mfz-rxtx-2.2-20081207-win-x64

    mfz-rxtx-2.2-20081207-win-x64

    rxtx-2.2-20081207-win-x64 rxtx_RXTXcomm_

    在标题“rxtx-2.2-20081207-win-x64 rxtx_RXTXcomm_”中,我们可以看到RXTX的一个特定版本,即2.2版,针对64位Windows系统。"rxtx_RXTXcomm_"可能是指RXTX项目或相关文件夹的名字,强调了RXTX和串口通信的功能。 ...

    mfz-rxtx-2.2-20081207-win-x86x64

    标题 "mfz-rxtx-2.2-20081207-win-x86x64" 暗示我们正在处理一个特定版本的串口通信库,RXTX,适用于Windows操作系统,支持x86和x64架构。这个库是Java平台上的一个开源项目,用于实现与硬件设备进行串行通信的功能...

    RXTX-2-2-20081207.rar

    RXTXComm.jar 从官网http://fizzed.com/oss/rxtx-for-java下载的win-x86、win-x64、win-ia64、linux-i386、linux-x86_64版本的jar包

    JAVA串口通讯依赖jar包(mfz-rxtx-2.2-20081207【含32位、64位】)

    对于Windows系统,压缩包内的mfz-rxtx-2.2-20081207-win-x64.zip适用于64位操作系统,而mfz-rxtx-2.2-20081207-win-x86.zip则适用于32位操作系统。解压这两个zip文件后,会得到相应的dll动态链接库文件,这些库文件...

    RXTX-2.1-7

    "RXTX-2.1-7"是该库的一个特定版本,它包含了多个组件以支持不同平台的通信需求。 首先,我们来看看这个版本包含的主要组件: 1. **RXTXcomm.jar**:这是RXTX的核心库文件,它包含了Java类和接口,供开发者在应用...

    rxtx-2.2-linux-windowx-x64.zip

    "rxtx-2.2-linux-windowx-x64.zip"这个压缩包包含了RXTX库在Windows 64位和Linux 64位系统上的版本,是Java开发者进行串口通信的重要工具。 首先,我们来了解一下RXTX的核心功能。RXTX库提供了一组Java类和接口,...

    mfz-rxtx-2.2-20081207-win-x64.rar

    标题中的“mfz-rxtx-2.2-20081207-win-x64.rar”指的是一个特定版本的RXTX库的压缩包文件,适用于64位Windows操作系统。RXTX是一个开源的Java库,专门用于处理串行和并行通信。这个版本号(2.2)和日期(20081207)...

    mfz-rxtx-2.2-20081207-win-x86x64.zip

    标题中的“mfz-rxtx-2.2-20081207-win-x86x64.zip”表明这是一个针对Windows平台(x86和x64架构)的Rxtx库的版本2.2,发布于2008年12月7日。Rxtx是一个开源的Java库,它提供了对串行通信的支持,允许Java程序与硬件...

    免费下载java串口通信包 mfz-rxtx-2.2-20081207-win-x64_2333.zip

    这个“mfz-rxtx-2.2-20081207-win-x64”压缩包正是RXTX库的一个版本,特别针对Windows 64位系统进行了优化。 在Java中,标准库并没有内置串口通信的功能,因此RXTX库的存在弥补了这一空白。它为Java提供了与C语言的...

    RXTX-2-2-20081207

    这个"RXTX-2-2-20081207"版本是RXTX的一个特定迭代,发布于2008年12月7日。在Java开发中,当需要进行硬件交互,例如控制Arduino、GSM模块或其他通过串口通信的设备时,RXTX库就显得非常有用。 RXTX库提供了跨平台的...

    rxtx-2.1-7r2相关安装源码和主流系统库

    **rxtx-2.1-7r2详解** rxtx是一个开源的串行通信库,主要用于Java编程语言。它的全名是“Real Time eXtensions for Java”,为Java应用程序提供了串口(Serial Port)和并口(Parallel Port)通信的能力。rxtx库在...

    RXTX-2-2-20081207-Linux-i386.zip

    标题中的“RXTX-2-2-20081207-Linux-i386.zip”指的是一个特定版本的RXTX库的压缩文件,适用于Linux平台的i386架构。RXTX是一个开源的Java库,它为Java应用程序提供了串行和并行通信的能力。这个版本发布于2008年12...

    mfz-rxtx-2.2-20081207-win-x64.zip

    标题中的“mfz-rxtx-2.2-20081207-win-x64.zip”指的是一个特定版本的RXTX库的Windows 64位版本的压缩包,发布日期为2008年12月7日。RXTX是一个开源的Java库,它提供了串行(RS232)和并行通信的功能。这个库在Java...

Global site tag (gtag.js) - Google Analytics