WAP协议研究笔记 彩信的传输

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

WAP协议研究笔记—彩信的传输

 

转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd

作者联系方式:Li XianJing <xianjimli at hotmail dot com>

更新时间:2006-12-19

 

我们知道,彩信(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协议。

wap_mmsarch 

彩信的交互过程。对彩信客户端实现者来说,我们主要关心:彩信发送方与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         彩信阅读回执。彩信阅读回执是一条新彩信,它的传递过程和普通彩信没有什么差别,只是不能再有阅读回执。

 

彩信的PDUPDU即协议数据单元,对应前面每种消息的消息格式。彩信的PDU和HTTP协议极为类似,当然相对来说要简单多了。它定义了一些常用的消息域,有的消息域是公有的,每种消息都可以使用,有的消息域是专用的,只有特定的消息才能使用。除了常用的消息域外,也可以自定义消息域,自定义消息域以X-打头,但不能以X-Mms-打头。常用的消息域如:

l         X-Mms-Message-Type

l         X-Mms-Transaction-ID

l         X-Mms-MMS-Version

l         Date

l         From

l         To

l         Cc

l         Bcc

l         Subject

l         X-Mms-Message-Class

l         X-Mms-Expiry

l         X-Mms-Delivery-Time

l         X-Mms-Priority

l         X-Mms-Sender-

l         Visibility

l         X-Mms-Delivery-Report

l         X-Mms-Read-Reply

l         Content-Type

 

PDU的类型有:

l         发送请求。m-send-req

l         发送确认。m-send-conf

l         彩信通知。m-notification-ind

l         通知回应。m-notifyresp-ind

l         获取彩信回应。m-retrieve-conf

l         接收确认。m-acknowledge-ind

l         彩信回执。m-delivery-ind

 

 

获取彩信只是一个普通的HTTP GET请求,而没有专门的PDU。

 

彩信的PDU编码。彩信PDU在语义上与HTTP协议类似,但是其编码方式并不一样,为了充分利用带宽,彩信PDU采用二进制方式编码。其编码规则很简单,预定义的消息域的KEY都有唯一的单字节编码,如:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
           

Key

           
           

编码

           
           

Bcc

           
           

0x01

           
           

Cc

           
           

0x02

           
           

Content-Location

           
           

0x03

           
           

Content-Type

           
           

0x04

           
           

Date

           
           

0x05

           
           

Delivery-Report

           
           

0x06

           
           

Delivery-Time

           
           

0x07

           
           

Expiry

           
           

0x08

           
           

From

           
           

0x09

           
           

Message-Class

           
           

0x0A

           
           

Message-ID

           
           

0x0B

           
           

Message-Type

           
           

0x0C

           
           

MMS-Version

           
           

0x0D

           
           

Message-Size

           
           

0x0E

           
           

Priority

           
           

0x0F

           
           

Read-Reply

           
           

0x10

           
           

Report-Allowed

           
           

0x11

           
           

Response-Status

           
           

0x12

           
           

Response-Text

           
           

0x13

           
           

Sender-Visibility

           
           

0x14

           
           

Status

           
           

0x15

           
           

Subject

           
           

0x16

           
           

To

           
           

0x17

           
           

Transaction-Id

           
           

0x18

           
           

 

           
           

 

           

 

而消息域的Value部分,如果只有几个固定的可选值,这几个值也用单子节的编码,由于这些值只出现在特定的上下文中,所以无需要全局唯一。

 

参考资料:

http://www.wapforum.org

http://www.kannel.org

 

~~end~~

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值