博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
物联网通讯与普通短信通讯的区别和要注意的地方
阅读量:5129 次
发布时间:2019-06-13

本文共 1020 字,大约阅读时间需要 3 分钟。

CMPP3.0中号码字段增加到32位,还增加了号码类型字段,可能是为了扩展不同类型的卡。

Dest_terminal_Id

32*DestUsr_tl

Octet String

接收短信的MSISDN号码。

Dest_terminal_type

1

Unsigned Integer

接收短信的用户的号码类型,0:真实号码;1:伪码。

可是用CMPP3.0协议,也就是说发送短信到物联网卡、从物联网卡回复短信回来,都可以直接用这套CMPP3.0协议。那么跟发手机短信有何不同之处呢,以下就是几点不同:

 

1.关于编码格式

目前物联网卡通讯,如果是英文内容,则只支持Ascii码,也就是Msg_Fmt必须设置成0

Msg_Fmt

1

Unsigned Integer

信息格式:

0:ASCII串;

3:短信写卡操作;

4:二进制信息;

8:UCS2编码;

15:含GB汉字。。。。。。

如果是发送中文内容,则只支持UCS2编码,即Msg_Fmt必须设置成8

另外有个特别费解的问题是,如果是发中文内容,短信网关会自动在短信后面加上一串尾巴,类似【ayf】等。这个问题在开发的时候必须注意,以免发送的指令不能解析,需要做一些逻辑处理把尾巴去掉。

 

2.关于长短信

我们知道一条短信只能发140个字节的内容,如果实际要发的内容超过这个数,就必须拆成多条发送,这样会有一些影响。为了发长短信,我们的CMPP发送程序必须做一些改造,具体请参考我的另一篇博文

而对于物联网卡来说,收发长短信必须使用  7 位的协议头格式:06 08 04 XX XX MM NN

这也是要注意的一点,否则解析发送都会出错。

 

3.关于用户号码类型

物联网的用户号码类型选择Dest_terminal_type=0即可。若选择1会报错。

其他

如遇到短信网关返回码,可查询以下网址看返回码解释 

常见返回码:173  是物联网卡没开通短信功能造成的。

这就是开发物联网通讯过程中的经验。

提纲

1 物联网数据卡系统源码——前篇

2 物联网数据卡系统源码——通信模块

2.2 协议封装和实现

2.4 粘包的处理

3 物联网数据卡系统源码——Windows服务模块

3.1 Windows服务模块概述

3.2 Windows服务模块实现

3.3 高并发回调处理

3.4 部署安装

转载于:https://www.cnblogs.com/tuyile006/p/7004393.html

你可能感兴趣的文章
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
下一代操作系统与软件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Python IO模型
查看>>
DataGridView的行的字体颜色变化
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>