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


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

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

    本程序功能包括:

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

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

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

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

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

    6、全套源码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协议文档    下载CMPP2.0客户端     下载CMPP3.0客户端

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

    目前程序已经升级到V5.0版本,性能更加强大稳定。V5.0版演示如下:

    下载 :   CMPP3.0客户端V5.0版     CMPP3.0服务端V5.0版         也有2.0的,需要的请联系。 

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

  • 相关阅读:
    BZOJ 1037: [ZJOI2008]生日聚会Party 四维DP
    Codeforces Round #240 (Div. 1) B. Mashmokh and ACM DP
    Codeforces Round #319 (Div. 2)B. Modulo Sum DP
    浅谈移动端页面无刷新跳转问题的解决方案
    2017年10大主流编程语言最新排行榜出炉
    2017年10大主流编程语言最新排行榜出炉
    验证码倒计时的注册页面
    仿百度地图上拉下滑抽屉盒
    仿百度地图上拉下滑抽屉盒
    微信小游戏跳一跳外挂教程(安卓版)
  • 原文地址:https://www.cnblogs.com/tuyile006/p/1437503.html
Copyright © 2020-2023  润新知