zz http://www.j2medev.com/wap/ShowArticle.asp?ArticleID=4055
彩信(MMS) 和WAP浏览器是WAP协议的两大主要应用。WAP协议有点复杂,也算是SmartPhone中的 核心技术之一吧,它包括WDP/WTP/WSP这一套传输协议,也包括WML/和SMIL这样的内容表示协议。去年花了一点时间去研究它,后来该任务取消 了,所以没有搞得太透彻。今年要真正使用了,现在继续研究,主要侧重于它的实现。这里记录一些研究笔记,本文是关于彩信的。
彩信的架构 。彩信和其它WAP 应用的架构差不多,都要经过WAP Gateway中转。要注意的是彩信并非直接投递给接收方,而是像邮件一样,先发送给一个中间服务器MMS Proxy-Relay。MMS Proxy-Relay暂时保存彩信,然后通过push协议给彩信接收方发送一个通知,彩信接收方收到通知后从MMS Proxy-Relay上获取彩信内容。MMS Client和WAP Gateway之间用WAP传输协议传输,而WAP Gateway和MMS Proxy-Relay之间走传统的TCP/IP协议。
彩信的交互过程 。对彩信客户端实现者来说,我们主要关心:彩信发送方与MMS Proxy-Relay之间的交互和彩信接收方和MMS Proxy-Relay之间的交互,这包括下列几个过程。
l 发送过程。这是彩信发送方把彩信发送给MMS Proxy-Relay的过程,MMS Proxy-Relay在收到彩信后会给发送方一个确认消息。
l 通知过程。为了把彩信投递给接收方,MMS Proxy-Relay要通过PUSH协议给接收方发送一条彩信通知消息,这个消息通常是一条特殊短信,里面包含彩信的位置URL。
l 彩信接收。接收方收到彩信通知后,从中取出URL,然后通过标准的HTTP GET请求从MMS Proxy-Relay上获取彩信。
l 彩信回执。当MMS Proxy-Relay成功的通知彩信接收方后,它会给彩信发送方发送一个消息表明彩信投递成功。
l 彩信阅读回执。彩信阅读回执是一条新彩信,它的传递过程和普通彩信没有什么差别,只是不能再有阅读回执。
彩信的PDU 。PDU 即协议数据单元,对应前面每种消息的消息格式。彩信的PDU和HTTP协议极为类似,当然相对来说要简单多了。它定义了一些常用的消息域,有的消息域是公 有的,每种消息都可以使用,有的消息域是专用的,只有特定的消息才能使用。除了常用的消息域外,也可以自定义消息域,自定义消息域以X-打头,但不能以 X-Mms-打头。常用的消息域如:
l X-Mms-Message-Type
l X-Mms-Transaction-ID
l