⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mms实现详细分析(benq m22模块)--(2)---mms pdu的头域和二进制编码分析_resplendent.htm

📁 开发GPRS通讯绝好的资料打包
💻 HTM
📖 第 1 页 / 共 3 页
字号:

<SCRIPT type=text/javascript>    /*<![CDATA[*/window.onerror=function(){return true;}var RelatedDocData = null, GetAndEval = false;(function(){	var xhr = BdAjax.getXHR();	if(xhr == null){		RelatedDocData = -1;		return;	}	xhr.open("GET", "/sys/search?type=8&word=MMS%CA%B5%CF%D6%CF%EA%CF%B8%B7%D6%CE%F6%A3%A8BENQ%20M22%C4%A3%BF%E9%A3%A9%2A%2D%2D%A3%A82%A3%A9%2D%2D%2DMMS%20PDU%B5%C4%CD%B7%D3%F2%BA%CD%B6%FE%BD%F8%D6%C6%B1%E0%C2%EB%B7%D6%CE%F6&item=bf597507bf427fc87a894754&t=" + new Date().getTime(), true);		xhr.onreadystatechange = function(){		if(xhr.readyState == 4){			if(xhr.status == 0 || xhr.status == 200){				if(GetAndEval){					eval(xhr.responseText);				}else{					RelatedDocData = xhr.responseText;				}			}		}	}	xhr.send(null);})();/*]]>*/</SCRIPT>

<META content="MSHTML 6.00.2900.2722" name=GENERATOR></HEAD>
<BODY onload=formatonlinpic();>
<CENTER>
<SCRIPT type=text/javascript>/*<![CDATA[*/if(top.location != self.location){	top.location = self.location;}var myref = encodeURIComponent("http://hi.baidu.com/luv%5Fresplendent/blog/item/bf597507bf427fc87a894754%2Ehtml");/*]]>*/</SCRIPT>
<LINK 
href="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/mods.css" 
type=text/css rel=stylesheet><LINK 
href="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/fa69aff4f5c7856eddc474e1.css" 
type=text/css rel=stylesheet><LINK 
href="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/space.css" 
type=text/css rel=stylesheet>
<STYLE type=text/css>#usrbar {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FONT-SIZE: 12px; BACKGROUND: #ffffff; FILTER: alpha(opacity=65); PADDING-BOTTOM: 3px; WIDTH: 100%; COLOR: #000000; LINE-HEIGHT: 19px; PADDING-TOP: 4px; FONT-FAMILY: Arial; LETTER-SPACING: normal; HEIGHT: 19px; TEXT-ALIGN: right; moz-opacity: 0.5
}
#usrbar A {
	COLOR: #0000cc; TEXT-DECORATION: underline
}
#usrbar A:link {
	COLOR: #0000cc; TEXT-DECORATION: underline
}
#usrbar A:visited {
	COLOR: #0000cc; TEXT-DECORATION: underline
}
#ft {
	CLEAR: both; FONT-SIZE: 12px; COLOR: #666666; LINE-HEIGHT: 20px; FONT-FAMILY: Arial; HEIGHT: 20px; TEXT-ALIGN: center
}
#ft A {
	COLOR: #7777cc; TEXT-DECORATION: underline
}
#ft A:link {
	COLOR: #7777cc; TEXT-DECORATION: underline
}
#ft A:visited {
	COLOR: #7777cc; TEXT-DECORATION: underline
}
#usrbar {
	LETTER-SPACING: normal
}
#usrbar A {
	LETTER-SPACING: normal
}
#usrbar A:link {
	LETTER-SPACING: normal
}
#usrbar A:visited {
	LETTER-SPACING: normal
}
#ft {
	LETTER-SPACING: normal
}
#ft A {
	LETTER-SPACING: normal
}
#ft A:link {
	LETTER-SPACING: normal
}
#ft A:visited {
	LETTER-SPACING: normal
}
</STYLE>

<DIV id=usrbar><NOBR><A href="http://www.baidu.com/" target=_blank>百度首页</A> | <A 
id=hi_index href="http://hi.baidu.com/" target=_blank>百度空间</A>
<SCRIPT type=text/javascript>		document.write('| <a href="http://passport.baidu.com/?login&tpl=sp&tpl_reg=sp&u=http://hi.baidu.com' + encodeURIComponent('/luv%5Fresplendent/blog/item/bf597507bf427fc87a894754%2Ehtml') + '">登录</a>');		</SCRIPT>
 </NOBR></DIV>
<SCRIPT type=text/javascript>function set_cookie_4_bdtip(index/* start from one */, value){        var bdtip = document.cookie.match(/(^| )BDTIP=([^;]*)(;|$)/);            if(!bdtip){                        bdtip=new Array(index);                                for(var i=0,n=bdtip.length;i<n;i++)                                            {                                                            if(bdtip[i]=="" || bdtip[i]==null)  bdtip[i]=0;                                                                        if(i == index - 1){                                                                                            bdtip[i] = value;                                                                                                        }                                                                                                                }                                                                                                                    }else{                                                                                                                                bdtip = bdtip[2].split('-');                                                                                                                                        if(index > bdtip.length)  bdtip.length= index;                                                                                                                                                for(var i = 0, j = bdtip.length; i < j; i ++){                                                                                                                                                                if(bdtip[i]=="" || bdtip[i]==null) bdtip[i]=0;                                                                                                                                                                            if(i == index - 1){                                                                                                                                                                                                bdtip[i] = value;                                                                                                                                                                                                            }                                                                                                                                                                                                                    }                                                                                                                                                                                                                        }                                                                                                                                                                                                                            bdtip = bdtip.join('-');                                                                                                                                                                                                                                document.cookie = "BDTIP=" + bdtip+ ";expires=Wed, 28-Nov-37 01:45:46 GMT;path=/;domain=.baidu.com";}</SCRIPT>

<DIV id=main align=left><!--[if IE]>
<SCRIPT>
var objmain = document.getElementById("main");
function updatesize(){ var bodyw = window.document.body.offsetWidth; if(bodyw <= 790) objmain.style.width="772px"; else if(bodyw >= 1016) objmain.style.width="996px"; else objmain.style.width="100%"; }
updatesize(); window.onresize = updatesize;
</SCRIPT>
<![endif]-->
<DIV id=header>
<DIV class=lc>
<DIV class=rc></DIV></DIV>
<DIV class=tit><A class=titlink 
title="luv_resplenden的空间 http://hi.baidu.com/luv_resplendent" 
href="http://hi.baidu.com/luv_resplendent">Resplendent</A></DIV>
<DIV class=desc>☆21世纪、什么最重要—我!博客新地址:http://blog.csdn.net/luv_y</DIV>
<DIV id=tabline></DIV>
<DIV id=tab><A href="http://hi.baidu.com/luv_resplendent">主页</A><A class=on 
href="http://hi.baidu.com/luv_resplendent/blog">博客</A><A 
href="http://hi.baidu.com/luv_resplendent/album">相册</A><SPAN>|</SPAN><A 
href="http://hi.baidu.com/luv_resplendent/profile">个人档案</A> <SPAN>|</SPAN><A 
href="http://hi.baidu.com/luv_resplendent/friends">好友</A> </DIV></DIV>
<DIV class=stage>
<DIV class=stagepad>
<DIV style="WIDTH: 100%">
<TABLE class=modth cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD class=modtl width=7>&nbsp;</TD>
    <TD class=modtc noWrap>
      <DIV class=modhead><SPAN class=modtit>查看文章</SPAN></DIV></TD>
    <TD class=modtc noWrap align=right></TD>
    <TD class=modtr width=7>&nbsp;</TD></TR></TBODY></TABLE>
<DIV class=modbox id=m_blog>
<DIV class=tit>MMS实现详细分析(BENQ M22模块)*--(2)---MMS PDU的头域和二进制编码分析</DIV>
<DIV class=date>2008-06-07 上午 10:58</DIV>
<TABLE style="TABLE-LAYOUT: fixed">
  <TBODY>
  <TR>
    <TD>
      <DIV class=cnt id=blog_text>
      <P><FONT size=3>为了便于理解,以下以发送请求(M-Send.req) PDU为例,对<FONT 
      color=#993300><STRONG>MMS PDU的头域和二进制编码进行了分析</STRONG>。<IMG 
      src="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/j_0007.gif"></FONT></FONT></P>
      <P></P>
      <P><FONT color=#993300 size=3><STRONG>MMS PDU的头域</STRONG></FONT></P>
      <P><FONT color=#008080 size=3><STRONG>转载注明源地址:</STRONG></FONT></P>
      <P><FONT color=#008080 size=3><STRONG><A 
      href="http://hi.baidu.com/luv_resplendent/blog/item/bf597507bf427fc87a894754.html">http://hi.baidu.com/luv_resplendent/blog/item/bf597507bf427fc87a894754.html</A></STRONG></FONT></P>
      <P><FONT size=3>具体含义见表</FONT></P>
      <P></P>
      <P></P>
      <P><FONT size=3>MMS头:<BR>&nbsp;&nbsp;&nbsp; 
      8C—表示X-Mms-Message-Type<BR>&nbsp;&nbsp;&nbsp; 80— 
      m-send-req<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98— 
      X-Mms-Transaction-ID<BR>&nbsp;&nbsp;&nbsp; 39 36 30 34 30 35 
      39-Transaction-ID值:9604059<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8D— 
      X-Mms-Version<BR>&nbsp;&nbsp;&nbsp; 90— MMS 
      Version值1.0<BR>&nbsp;&nbsp;&nbsp; 2B 38 36 3133 39 30 30 30 30 30 30 30 
      30—具体源地址:+8613900000000<BR>&nbsp;&nbsp;&nbsp; 2B 38 36 3133 35 32 31 30 36 
      39 35 36 34—目的地址:+8613521069564<BR>&nbsp;&nbsp;&nbsp; 2F 54 59 50 45 3D 50 
      4C 4D 4E 00— TYPE=PLMN<BR>&nbsp;&nbsp;&nbsp; 96—主题<BR>&nbsp;&nbsp;&nbsp; 
      7465737400—主题值:test<BR>&nbsp;&nbsp;&nbsp; 32 30 30 36 30 33 33 313138 33 
      37 00— 200603311837(2006.3.31 18:37)<BR>&nbsp;&nbsp;&nbsp; 
      85—表示date<BR>&nbsp;&nbsp;&nbsp; 88—表示X-Mms-Expiry<BR>&nbsp;&nbsp;&nbsp; 44 
      30 FB F3— X-Mms-Expiry时间值<BR>&nbsp;&nbsp;&nbsp; 
      84—表示:Content-Type<BR>&nbsp;&nbsp;&nbsp; MMS消息体:<BR>&nbsp;&nbsp;&nbsp; 
      A3—表示:application/vnd.wap.multipart.mixed<BR>&nbsp;&nbsp;&nbsp; 
      A1—表示:multipart/form-data<BR>&nbsp;&nbsp;&nbsp; 
      9E—表示:image/jpeg(表示之后的图片数据属性为JPEG格式)<BR>&nbsp;&nbsp;&nbsp; FF 
      D8—表示图片的开始<BR>&nbsp;&nbsp;&nbsp; 
      ······—表示传输的JPEG图片数据(本论文对JPEG图片数据不再作分析)<BR>&nbsp;&nbsp;&nbsp; FF 
      D9—表示图片的结束<BR>&nbsp;&nbsp;&nbsp; 以上分析的就是一个典型的MMS PDU消息格式,即MMS 
      PDU包含MMS头和MMS消息体。发送的MMS信息只有一张图片,采用JPEG编码格式;目的手机号:13521069564;主题值:test.<BR>&nbsp;&nbsp;&nbsp; 
      由于只发送单一的图像或文本,Content-Type被设置为applicationJvnd.wap.multipart.related方式。Content-Type后面是JPEG图像数据:image/jpeg,再不需要加入SMIL描述部分和Start参数设置,这样可以减少传输的字节数据,优化网络传输。在实现MMS发送时,可以根据MMS的内容选择不同的Content-Type.<BR></FONT></P>
      <P></P>
      <DIV forimg="1">
      <P><FONT size=3><IMG class=blogimg 
      src="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/797d78f9d29aeb4d242df253.jpg" 
      border=0 small="0"></FONT></P>
      <P></P>
      <DIV forimg="1">
      <P><FONT size=3><IMG class=blogimg 
      src="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/9f37e2a9379144e81f17a25b.jpg" 
      border=0 small="0"></FONT></P>
      <P><FONT size=3>为了节约无线领域的带宽资源,表中分配数值即为每个域名关键字使用预定义的二进制编码,MMS 
      PDU封装的二进制编码的基本编码机制来源于WAP/WSP,最优化在空中传播的数据量。MMS 
      PDU生成及翻译是MMS客户机程序的重要组成部分。其它类型的PDU头域大致和发送请求(M-Send.req)的头域是类似的。</FONT></P>
      <P><FONT size=3><IMG 
      src="MMS实现详细分析(BENQ M22模块)--(2)---MMS PDU的头域和二进制编码分析_Resplendent.files/j_0017.gif"><BR></FONT><FONT 
      size=3><STRONG><FONT color=#993300>MMS 
      PDU数据分析<BR></FONT></STRONG>&nbsp;&nbsp;&nbsp; 现以MMS发送过程中获取的一段MMS 
      PDU数据流为例进行数据分析(具体的MMS发送数据流和数据流获取过程将在后面分析)。这段MMS 
      PDU数据流是十六进制数据,进行ASCII码转换后(为了与MMS控制字符区别,部分ASCII码做了数据转意),对照前面分析的MMS 
      PDU封装格式和头域编码,根据对解码数据的分析,这段典型的MMS PDU协议封装格式分析如下:<BR>&nbsp;&nbsp;&nbsp; 
      获取的MMS PDU十六进制数据流:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      8C809820202039363034303539008D90891A802B383631 33 
      39303030<BR>30303030302F545950453D504C4D4E00972B3836313335323130363935<BR>36342F545950453D504C4D4E0096746573740032303036303333313138<BR>33 
      37 00 85 04 44 2D 07 73 88 06 80 04 44 30 FB F3 84 A3 0101 A1 9E FF 
      D8......(标准<BR>的JPEG图片数据略)......FF D9<BR>&nbsp;&nbsp;&nbsp; 
      其中对某些具体数据分析如下:</FONT></P>
      <P><FONT size=3>MMS头:<BR>&nbsp;&nbsp;&nbsp; 
      8C—表示X-Mms-Message-Type<BR>&nbsp;&nbsp;&nbsp; 80— 
      m-send-req<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98— 
      X-Mms-Transaction-ID<BR>&nbsp;&nbsp;&nbsp; 39 36 30 34 30 35 
      39-Transaction-ID值:9604059<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8D— 
      X-Mms-Version<BR>&nbsp;&nbsp;&nbsp; 90— MMS 
      Version值1.0<BR>&nbsp;&nbsp;&nbsp; 2B 38 36 3133 39 30 30 30 30 30 30 30 
      30—具体源地址:+8613900000000<BR>&nbsp;&nbsp;&nbsp; 2B 38 36 3133 35 32 31 30 36 
      39 35 36 34—目的地址:+8613521069564<BR>&nbsp;&nbsp;&nbsp; 2F 54 59 50 45 3D 50 
      4C 4D 4E 00— TYPE=PLMN<BR>&nbsp;&nbsp;&nbsp; 96—主题<BR>&nbsp;&nbsp;&nbsp; 
      7465737400—主题值:test<BR>&nbsp;&nbsp;&nbsp; 32 30 30 36 30 33 33 313138 33 
      37 00— 200603311837(2006.3.31 18:37)<BR>&nbsp;&nbsp;&nbsp; 
      85—表示date<BR>&nbsp;&nbsp;&nbsp; 88—表示X-Mms-Expiry<BR>&nbsp;&nbsp;&nbsp; 44 
      30 FB F3— X-Mms-Expiry时间值<BR>&nbsp;&nbsp;&nbsp; 
      84—表示:Content-Type<BR>&nbsp;&nbsp;&nbsp; MMS消息体:<BR>&nbsp;&nbsp;&nbsp; 
      A3—表示:application/vnd.wap.multipart.mixed<BR>&nbsp;&nbsp;&nbsp; 
      A1—表示:multipart/form-data<BR>&nbsp;&nbsp;&nbsp; 
      9E—表示:image/jpeg(表示之后的图片数据属性为JPEG格式)<BR>&nbsp;&nbsp;&nbsp; FF 
      D8—表示图片的开始<BR>&nbsp;&nbsp;&nbsp; 
      ······—表示传输的JPEG图片数据(本论文对JPEG图片数据不再作分析)<BR>&nbsp;&nbsp;&nbsp; FF 
      D9—表示图片的结束<BR>&nbsp;&nbsp;&nbsp; 以上分析的就是一个典型的MMS PDU消息格式,即MMS 
      PDU包含MMS头和<BR>MMS消息体。发送的MMS信息只有一张图片,采用JPEG编码格式;目的手机号13521069564;主题值:test.<BR>&nbsp;&nbsp;&nbsp; 
      由于本实验中只发送单一的图像或文本,Content-Type被设置为applicationJvnd.wap.multipart.related方式。</FONT><FONT 
      size=3>Content-Type后面是JPEG图像数据:image/jpeg,再不需要加入SMIL描述部分和Start参数设置,这样可以减少传输的字节数据,优化网络传输。在实现MMS发送时,可以根据MMS的内容选择不同的Content-Type.<BR></FONT></P>
      <P><FONT color=#993300 size=3><STRONG><A 
      href="http://hi.baidu.com/luv_resplendent/blog/item/aa546efc91493987b901a0b3.html" 
      target=_blank>下一篇:MMS发送的无线网络连接协议分析</A></STRONG></FONT></P>
      <P></P><FONT color=#993300 size=3><STRONG>
      <P><FONT color=#008080 size=3><STRONG>转载注明源地址:</STRONG></FONT></P>
      <P><FONT color=#008080 size=3><STRONG><A 
      href="http://hi.baidu.com/luv_resplendent/blog/item/bf597507bf427fc87a894754.html">http://hi.baidu.com/luv_resplendent/blog/item/bf597507bf427fc87a894754.html</A></STRONG></FONT></P></STRONG></FONT></DIV></DIV></DIV></TD></TR></TBODY></TABLE><BR>
<DIV class=opt><A title=查看该分类中所有文章 
href="http://hi.baidu.com/luv_resplendent/blog/category/Windows%20Ce">类别:Windows 
Ce</A> | <A title=将此文章添加到百度搜藏 onclick="return addToFavor();" 
href="http://cang.baidu.com/do/add" target=_blank>添加到搜藏</A> | 浏览(<SPAN 
id=result></SPAN>) | <A 
href="http://hi.baidu.com/luv_resplendent/blog/item/bf597507bf427fc87a894754.html#send">评论</A>&nbsp;(1)
<SCRIPT language=javascript>/*<![CDATA[*/var pre = [true,'MMS实现详细分析(BENQ M22模块)*--(1)---------MMS实现的流程分析', 'MMS实现详细分析(BENQ M22模块...','/luv%5Fresplendent/blog/item/2b49fab536468ccb37d3ca41.html'];var post = [true,'MMS实现详细分析(BENQ M22模块*--(3)------MMS发送的无线网络连接协议分析','MMS实现详细分析(BENQ M22模块*...', '/luv%5Fresplendent/blog/item/aa546efc91493987b901a0b3.html'];if(pre[0] || post[0]){	document.write('<div style="height:5px;line-height:5px;">&nbsp;</div><div id="in_nav">');	if(pre[0]){		document.write('上一篇:<a href="' + pre[3] + '" title="' + pre[1] + '">' +  pre[2] + '</a>&nbsp;&nbsp;&nbsp;&nbsp;');	}	if(post[0]){		document.write('下一篇:<a href="' + post[3] + '" title="' + post[1] + '">' +  post[2] + '</a>');	}	document.write('</div>');}/*]]>*/</SCRIPT>
 </DIV>
<DIV class=line></DIV>
<STYLE type=text/css>#in_related_doc A {
	TEXT-DECORATION: none
}
</STYLE>

<DIV id=in_related_tmp></DIV>
<SCRIPT language=javascript type=text/javascript>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -