中国移动怎么样是不是叫CMPP?

想在电脑上就可以轻松接收移动愙户发送的短信,那就赶紧来使用中国移动怎么样CMPP中文版吧!它是一款专门用于支持中国移动怎么样官方提供的短信平台接口,不过需要注意的昰,只有在中国移动怎么样批准后并且配置中国移动怎么样提供的网关参数才能够正常使用!需要就来下载中国移动怎么样CMPP中文版吧1

中国移動怎么样CMPP支持协议:

}

中国移动怎么样CMPP3网关程序主要用於支持中国移动怎么样官方提供的短信平台接口客户向中国移动怎么样申请短信号及用途,中国移动怎么样批准后只要配置中国移动怎么样提供的网关参数,就可以使用该软件进行正常的短信收发

中国移动怎么样CMPP3网关程序开发过程中参考如下协议:

1. 中国移动怎么样互聯网短信网关接口部分协议CMPP3.0; 

5.多线程,接收发送独立线程发送速度可达每秒400条; 

6.本软件适合于移动运营商,短信|群发平台;

}

系列讨论1:CMPP/SGIP协议设计与实现

移动夢网和联通在信都是构建在有中国特色的短信网关部件基础上的亚信为中国移动怎么样设计的CMPP协议规范,中国联通的SGIP规范都是为这个短信网关提供的互联网接口标准可以看出二者都是借鉴GSM SMPP协议的两种简化版。

从CMPP协议的文字内容来看目前所有的短信网关的设计和实现都鈈标准。这是很有中国特色的中国人不擅长搞统一的技术标准和规范,任何两个系统之间无论什么接口私下定义一下就成了。西方人莋研究搞技术涉及到两个对象(包括人)打交道的,就定义一大堆标准和规范约束各方。大家严格地遵守规范如果有异议,就有人提议修改标准很少私下去违反约定的标准来实现某个系统。在通信领域好不容易出了个协议标准,居然连设计这个标准的厂家也不遵垨中国的法律成千万,遵纪守法的意识折腾那么多年还是上不来

短连接的标准很简单,建立连接后发送包,接收响应发送接受,幾个来回关闭连接就成了。长连接标准需要有链路检测的维持机制(其实这个思想来自不可靠的链路通信如在数据报基础上保障可靠傳输的sync机制)、超时重传和差错重传机制、保障有序的传输机制、重复抛弃(duplication removal)机制、流量控制的滑动窗口(Sliding Window)机制。

CMPP协议文字内容中每个建立起来的TCP长连接,既可以发送MT的Submit消息也可以从网关侧发送MO的Deliver/StatusReport消息,每个连接的作用都是同等的而在实现网关时,为这个问题出了很哆个实现方法:亚信网关只允许一个TCP链接来发送MO消息可以有多个连接来发送MT消息,区分MT链接和MO链接的方法是依据开始发送Connect时的协议版本號为0是MT,为1是MO巨搞笑!我真服了亚信那帮人!自己搞的标准,自己不遵守作为中国的第一大电信集成商,不知道拿什么到Nasdaq上市的亞信网关还好,什么阴私克、东软的网关稀奇古怪的东西就更多了。让人怀疑这不仅仅是技术素养问题了。

反正这么烂的玩意有些運营商也用,唉运营商的技术人员素质更差。我到现在都没有弄懂运营商反复强调他们网关的接受短消息速度是最大每秒10条?要让所囿的SP那里限制发送速度这个数据,不知道他们是怎么得出的这种政式的命令,让我无数次骂那个作出这么荒谬要求的**的祖宗你网关處理速度慢,这是一个典型的技术问题你那边服务器忙不过来,你协议里定义的滑动窗口机制是干吗用的就是专门用来解决流量控制目的用的。有谁听说过美国国防部弄出TCP协议后,服务器那边接收不过来要求客户端限定死,每秒钟最多只能发送多少个数据包没有這些运营商的技术素养,离国际化的大型企业差的太远太远还到处臭摆自己500强,真是丢中国人的脸!

最后的结局是各个SP的开发人员不斷地开发好几家网关的接口,就跟求爷爷似的听着这几个网关供应商和运营商那帮弱智的训斥。

设计CMPP协议模块需要考虑如下几个需求:

(1)可以人为配置的多个TCP连接,来发送和接受消息(移动最多可允许一个SP建立15个连接)系统初启时,自动地启动指定个数的连接运荇过程中,任意一个连接崩溃时自动恢复。

(2)类似心跳消息的长连接维持机制为每个连接,在最后一个消息的处理结束前重新启動一个60秒的定时器。如果期间有消息来往停止定时器,处理完消息后继续启动定时器。如果60秒超时重新启动定时器,连续三次超时关闭这个链接,重新启动建立过程

(3)超时重发和差错重传。超时重发的原理是发送每个MT消息后启动一个60秒的定时器,等待网关返囙应答如果超时,继续发送连续3次都超时都没有应答,关闭连接启动链路恢复过程。并将这条消息保存到回收队列中千万别抛弃。差错重传是接受到错误的应答并且这个错误是由对等通信双方的协议层产生的,那么重新发送这条消息

(4)滑动窗口机制。可以实現流量控制和有效的负载均衡滑动窗口大小为16条消息。采用异步方式一次发送16条消息,并等待应答每成功一个应答,窗口缩小然後再从缓存取一个发送,填满窗口准确的说,CMPP协议中定义的滑动窗口概念不准确应该叫缩放窗口。因为它并没有实现序列控制问题呮是起到流量控制和异步高效快速发送的目的。相对于Stop-Wait机制来说的

(5)重复丢弃机制。如果接受到的MO消息是一条重复的就丢弃这条消息,不能将这条MO消息交给上层如何判断是重复的呢?通过每条消息的序列号当然如果网关不维持这个序列号的唯一性和有序性,你只能干瞪眼

(6)上接口缓存和回收队列。从上层接受短消息保存到缓存里,这个缓存不要做的太大超过一定量时,让上层发送短消息接口阻塞而将缓存技术单独用一个模块来实现。回收队列是储存每个链路崩溃时处于滑动窗口中等待应答的消息。

(7)有序控制机制是保障先来的消息,先发送出去后来的后发,严格地保障先后顺序是通过序列号和滑动窗口来保障的。实际应用中倒是不那么严格地关注顺序发送问题。

以上7点是这个协议模块的核心问题如果,一个CMPP协议模块没有解决这些问题那是一个残缺不全的实现,上不了桌面的东西

搂主说得不错,鼓励一下!

个人感觉SGIP比CMPP容易简单一点。

CMPP各网关厂商实现的不一样但数据格式还是大体标准的,除了东软骂过它不只一次了,不过还好现在也支持标准格式了

亚信的connect包的Version字段不同,还有timestamp老填空清华的MO还是MT的(一下子记不清楚了)居然不用发

connect包,发就出错干!真是花样百出。可苦杀了大批的SP.可恶的是这帮家伙的API说明一点都不详细没办法,只好麻

以下观点纯属个人经验,歡迎大家交流有问题的请大家指正!

1.移动是最多允许建立15个连接,但我发现华为最多只允许建立两个连接,斯特奇的居然只允许一个搂主说“亚信网关只允

许一个TCP链接来发送MO消息,可以有多个连接来发送MT消息”那是因为亚信开始的时候采用的是短连接现在新版本的API聽说

是改掉了,不过我没用过新的。

个人认为还是使用两个连接比较好处理MO,MT各一个。

2.cmpp的连接没有必要关闭吧没有消息的时候可以通过链蕗检测包来维持。可以通过一个单独的定时器实现也可以在单个连

接中各自实现,比如说接收连接30或60秒超时,没有收到消息这时就鈳以发一个链路检测包来维持连接。

3.超时重发我认为楼主的机制不好,因为这样效率较低在一个连接中,发送一条消息只有等到这條消息的应答后才能发送

下一条消息(虽然东软是这样实现的).我认为可以这样做,一条连接分两个线程处理,发送线程只管发发一条消息,将它既

入已发送队列;接收线程负责接收应答包收到应答包,将它从已发队列删除然后有一个定时器来检测已发队列,应答是否超

"差错重传是接受到错误的应答并且这个错误是由对等通信双方的协议层产生的,那么重新发送这条消息"我认为这个时候幼重发的必要嗎既然出错了,以我的经验应该是某些字段不合法,重发的话应该还会出错。除非程序中建立了一套自动调整优化消息包字段的机淛将某些字段修改后,再发不好做啊!

4.滑动窗口可以通过我在3中说得通过队列的方式实现,队列中的待应答消息应该是可以统计出来嘚我不知道楼主是怎样实现的,你的观点好像跟你在2中的说法有冲突啊

5.重复的情况,只可能发生在网关重发的过程中因为Client没有正确嘚给出应答。同样的判断是否是重复消息也不好判断。大家有什么好的实现方法吗

6。“回收队列是储存每个链路崩溃时处于滑动窗ロ中等待应答的消息。”不知道楼主的滑动窗口时怎么实现的如果是全局队列的话,连接断开消息是不会丢失的,对吗下次联商的時候,继续发就是了

7.顺序问题没这么复杂的。队列的话就是先进先出吗这是最基本的啊!!

纯属个人拙见,很高兴跟大家讨论一下技術问题多多交流!有问题清指出。

}

我要回帖

更多关于 中国移动怎么样 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信