用C#做短信CMPP2.0/3.0协议 支持扩展号支持物理网卡

此程序为中国移动CMPP协议程序接口,适合在中国移动申请了短信发送端口的公司使用。

短信群发已经成为现在软件系统、网络营销等必不可少的应用工具。可应用在短信验证、信息群发、游戏虚拟商品购买、事件提醒、送祝福等方面。

本程序功能包括:

1、支持Cmpp2.0、3.0协议;(只能选其中一种)

2、支持一般的短信发送、上行短信接收、状态报告;

3、支持长短信,包括下发长短信、上行接收长短信;

4、支持Ms Sql数据库、MySql数据库;

5、支持普通手机号和物联网卡;

6、集成了邮件群发功能;

7、全套源码Win服务、全套数据库源码;

 

开发CMPP协议需要注意的地方或一些经验:
程序适用于Cmpp3.0、Cmpp2.0协议,可用.Net任何版本编译。

1.长短信实现方法:

短消息长度超过协议规定的最大长度的时候,可以进行拆分发送。
CMPP协议规定短消息最大长度为140,(DCS非0时)
拆分的消息UDHI字段要置为1表示该消息的内容有头结构。
针对长消息拆分的头结构表示如下
05  00  03  00  04  01 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
1   2   3   4   5   6  
1,表示后面的头的长度,不包括自身
3,表示头结构为拆分的连续短消息。
5,表示拆分的总条数
6,表示该条为第几条。
具体的参见规范。
后面是编码后的短消息内容。
短消息长度为包括头结构的长度。
例如一条短消息编码后如下要拆分成3条
AAAAAABBBBBBCCCCCC

DCS为8
三条分别为:
05    00  03  00  03  01  00  41  00  41  00  41  00  41  00  41  00  41  


05    00  03  00  03  02  00  42  00  42  00  42  00  42  00  42  00  42


05  00  03  00  03  03  00  43  00  43  00  43  00  43  00  43  00  43

三条消息的UDHI都为1

2.协议间的差异:

CMPP2.0写的程序,在CMPP2.1协议下也是可以用的,而且推荐企业向移动申请CMPP2.1协议的短信端口。

因为CMPP2.1比CMPP2.0有一项重大的改进:取消了CMPP_submit消息中群发短信必须设置为不接收状态报告的限制。

1、取消源ISMG”和“目的ISMG”的说法,把用户归属的ISMG简称为“归属ISMG”,把SP接入的ISMG简称为“接入ISMG”,如果“归属ISMG”和“接入ISMG”为同一个ISMG,则用“归属/接入ISMG”或者“接入/归属ISMG”来代称;但在泛称时仍可能使用“源ISMG”和“目的ISMG”;

2、明确SP与ISMG之间、ISMG与ISMG之间的连接建议为采用长连接方式;

3、明确SP与ISMG之间的连接方式:SP为客户端、ISMG为服务器端;

4、取消CMPP_SUBMIT中对短信群发必须在SP不要求状态报告时的限制;

5、状态报告中增加了MA:xxxx、MB:xxxx、CA:xxxx、CB:xxxx的状态值;

6、明确CMPP_FWD消息中的Src_Id和Dest_Id字段的填写情况,原则上不再允许状态报告中填写空值;

7、更新了GNS协议的所有消息,增加了GNS协议相关的系统定义(CommandId、错误码、Route_Id的编号规则);

8、添加了对错误码使用范围的说明;

9、删除了原“附录1 MO状态报告的产生”,因为MO状态报告在《移动梦网短信业务信令流程规范》中已经进行详细的说明;

10、因为要求ISMG对CMPP_SUBMIT中的各字段进行更详细的判断,添加了CMPP_SUBMIT_RESP中的返回码的取值范围;

11、删除了原CMPP_FWD中对状态报告的产生流程的描述,因为这些流程在《移动梦网短信业务信令流程规范》中已经进行了详细的说明;

 3.CMPP3.0支持物联网卡通讯

CMPP3.0协议对接收号码长度扩展至32位,并增加了号码类型字段。可以支持物联网卡。

用CMPP3.0协议做物联网卡通讯时需要注意的问题:请参考我的另一篇博文 

物联网通讯与普通短信通讯的区别和要注意的地方

 

测试小程序界面:

界面2:

 下载

Win服务版:短信Win服务程序+MsSql/MySql数据库源码,直接配置好win服务并启动,自己只需往数据库里面写入数据就可以发送短信,接收的短信保存在另一张表中,读取即可收到上行短信。

模拟网关界面:

 CMPP2.0协议文档    CMPP3.0协议文档  

 同时有提供网关模拟器,抓包工具,长短信实现方法,以及参数如何填写的实例文档,使用该代码的测试小程序源码。

 有偿提供与移动联调服务,承诺帮忙调试通过,并免费赠送源码。如有需要请联系 小y QQ:271963990  请注明来意。

 

转载于:https://www.cnblogs.com/tuyile006/archive/2009/04/16/1437503.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新算法可模拟人脑整体神经电路

来源:科学网 作者:陈超3月28日,日本理化学研究所日前宣布,他们的一个国际联合研究小组成功开发出模拟人脑整体神经电路的算法,可在下一代超级计算机上应用。新算法不仅节省内存,也能大幅提高现有超级计算机…

Java中的mapreduce没了_MapReduce的过程总结

MapReduce 分为:1) MapTask :1.Read阶段:逻辑切片 128M / Maptask 读数据解析出一个个key/value。2.Map阶段: 把key/value 写入到map中去(处理业务逻辑)3.Collect阶段:将生成的key/value分区(调用Partitioner)排序,并写…

酒桌上的规矩,社会的潜规则

(一)如果自己真不能喝,丫就别开第一口,端着饭碗夹了菜一边吃着去(二)如果确信自己要喝,就别装墨迹,接下来就是规矩了  规矩一:酒桌上虽然“感情深,一口闷;感情浅,舔一舔”但是喝酒…

7个方面读懂6月的5G标准

来源:5G丨公众号作为IMT2020主要的候选技术, 5GNR在3GPP的快马加鞭地统一协调下急速前行,按照计划,今年第一个5G标准会冻结,将为运营商提供一套5G初期部署的可行方案。5GNR 是5G New Radio的简称,是当今通信…

专家谈计算机体系架构研究获“图灵奖”

来源:科学网 作者:王佳雯 韩扬眉近日,有着“计算机界的诺贝尔奖”之称的“图灵奖”揭开面纱。国际计算机协会宣布,美国科学家约翰轩尼诗和大卫帕特森获得2017年度图灵奖,以表彰二人开创了一种系统的、可量化的方法用…

编译和使用APUE的源码

From:http://blog.csdn.net/mitesi/article/details/19015397 APUE说明及源码下载地址 :http://www.apuebook.com/ APUE 电子版 PDF 下载地址:http://download.csdn.net/download/freeking101/10012610 1. 介绍 总结:APUE是一本…

java标签用法详解_介绍一个javaWeb自定义标签的用法详解

这篇文章主要介绍了javaWeb自定义标签用法,结合实例形式分析了javaweb自定义标签的功能、定义方法及执行原理,需要的朋友可以参考下本文实例讲述了javaWeb自定义标签用法。分享给大家供大家参考,具体如下:自定义标签创建自定义标签主要用于移除Jsp页面中…

由partition看窗口函数

最近要完成一个项目,有一个查询可难住了笔者,无论是子查询还是分组,都没弄出来,还是基础知识不行啊。不过呢,可以查资料,最后用一个窗口函数解决了问题。由于开始的数据库是Access,后来笔者导成…

AI版「盗梦空间」?谷歌大脑「世界模型」可实现在其梦境中对智能体进行训练

图源:pixabay原文来源:arXiv原文链接:https://arxiv.org/pdf/1803.10122.pdf作者:David Ha、Jurgen Schmidhuber「雷克世界」编译:嗯~是阿童木呀、KABUDA我们探索构建通用强化学习环境中的生成式神经网络模型。我们的世…

Linux文件空洞与稀疏文件

From:http://www.topjishu.com/8277.html From:http://blog.csdn.net/clamercoder/article/details/38361815 Linux_File_Hole_And_Sparse_Files 参考unix环境高级编程第三版 54页和90页!!! ( 文件I/O章节 lseek…

西人马聂泳忠:打造机器神经系统,成为中国的特斯拉

作者:于绍洋 来源:投资家网经常穿梭于几个城市,一手拉着行李箱,一手忙于回复工作上的事务,这可能已经成为西人马FATRI(下称,西人马)创始人聂泳忠博士的日常状态。他给人的第一印象…

Linux dd 命令

From:http://www.cnblogs.com/jikexianfeng/p/6103500.html Linux/UNIX: 使用 dd 命令创建 1GB 大小的二进制:http://www.linuxidc.com/Linux/2014-12/110147.htm 菜鸟教程 Linux dd命令:http://www.runoob.com/linux/linux-comm-dd.html …

Nature 首度揭示大脑传递信息的真正逻辑

我们对于大脑的理解还停留在极为初步的阶段(图片来源:Pixabay)来源:生物360摘要:我们过去对于大脑处理信息的理解,其实是非常片面和不准确的。今日,一项重量级的研究刊登在了最新一期的《自然》…

Linux 用户 和 用户组 管理 (添加、删除、修改)及说明

From:http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html 鸟哥官网 Linux 帐号管理与 ACL 权限设定:http://linux.vbird.org/linux_basic/0410accountmanager.php 鸟哥官网(简体中文):http://cn.linux.…

IBM Watson将成为失败的投资?分析师眼里, IBM AI过度乐观, 夸大宣传

来源:36Kr 作者:石筱玉IBM Watson是在医疗领域最早布局的AI之一。在36Kr此前的盘点中,我们也知道Watson希望参与患者诊疗中的每一个步骤:导医用智能音箱、Watson诊断工具、住院看护辅助,还有病患心理疏导……Watson已…

linux 文件系统详解

From:http://soysauce93.blog.51cto.com/7589461/1715655 From:http://blog.csdn.net/new0801/article/details/63687127 Linux 的虚拟文件系统(强烈推荐):http://blog.csdn.net/heikefangxian23/article/details/51579971 鸟哥 Linux 磁盘…

国际互联网协会(ISOC)提出未来互联网十项原则

来源:腾讯研究院此前,国际互联网协会(Internet Society,简称ISOC)发布了题为《通往数字化未来之路(Paths to Our Digital Future)》的报告,就数字化未来的道路进行了探索。ISOC认为&…

Spring Data JPA 从入门到精通~javax.persistence概况介绍

虽然 Spring Data JPA 已经对数据的操作封装的很好了,约定大于配置的思想,帮我们默认了很多东西。JPA(Java 持久性 API)是存储业务实体关联的实体的来源,它显示了如何定义一个面向普通 Java 对象(POJO&…

Linux安装配置类似mac下的docky

百度经验:ubuntu安装配置类似mac下的docky 亲手打造自己的Linux桌面环境:http://os.51cto.com/art/201510/493896_all.htm Dock是一种图形用户界面元素,允许用户一键访问常用的应用程序,在应用程序之间快速切换,以及…

埃森哲:2018年科技愿景

来源:199IT互联网数据中心埃森哲近日发布了新报告“2018年科技愿景”,分析了五大技术趋势让企业能够挖掘潜力,创造新的商业机会并帮助改变我们所知道的世界。1公民AI(人工智能)AI随处可见,在整个社会范围内…