zoukankan      html  css  js  c++  java
  • 【收藏】MMS实现详细分析2

    原文来自:http://hi.baidu.com/luv_resplendent/blog/item/bf597507bf427fc87a894754.html

    为了便于理解,以下以发送请求(M-Send.req) PDU为例,对MMS PDU的头域和二进制编码进行了分析

    MMS PDU的头域

    具体含义见表

    MMS头:
        8C—表示X-Mms-Message-Type
        80— m-send-req
          98— X-Mms-Transaction-ID
        39 36 30 34 30 35 39-Transaction-ID值:9604059
          8D— X-Mms-Version
        90— MMS Version值1.0
        2B 38 36 3133 39 30 30 30 30 30 30 30 30—具体源地址:+8613900000000
        2B 38 36 3133 35 32 31 30 36 39 35 36 34—目的地址:+8613521069564
        2F 54 59 50 45 3D 50 4C 4D 4E 00— TYPE=PLMN
        96—主题
        7465737400—主题值:test
        32 30 30 36 30 33 33 313138 33 37 00— 200603311837(2006.3.31 18:37)
        85—表示date
        88—表示X-Mms-Expiry
        44 30 FB F3— X-Mms-Expiry时间值
        84—表示:Content-Type
        MMS消息体:
        A3—表示:application/vnd.wap.multipart.mixed
        A1—表示:multipart/form-data
        9E—表示:image/jpeg(表示之后的图片数据属性为JPEG格式)
        FF D8—表示图片的开始
        ······—表示传输的JPEG图片数据(本论文对JPEG图片数据不再作分析)
        FF D9—表示图片的结束
        以上分析的就是一个典型的MMS PDU消息格式,即MMS PDU包含MMS头和MMS消息体。发送的MMS信息只有一张图片,采用JPEG编码格式;目的手机号:13521069564;主题值:test.
        由于只发送单一的图像或文本,Content-Type被设置为applicationJvnd.wap.multipart.related方式。Content-Type后面是JPEG图像数据:image/jpeg,再不需要加入SMIL描述部分和Start参数设置,这样可以减少传输的字节数据,优化网络传输。在实现MMS发送时,可以根据MMS的内容选择不同的Content-Type.

    为了节约无线领域的带宽资源,表中分配数值即为每个域名关键字使用预定义的二进制编码,MMS PDU封装的二进制编码的基本编码机制来源于WAP/WSP,最优化在空中传播的数据量。MMS PDU生成及翻译是MMS客户机程序的重要组成部分。其它类型的PDU头域大致和发送请求(M-Send.req)的头域是类似的。


    MMS PDU数据分析
        现以MMS发送过程中获取的一段MMS PDU数据流为例进行数据分析(具体的MMS发送数据流和数据流获取过程将在后面分析)。这段MMS PDU数据流是十六进制数据,进行ASCII码转换后(为了与MMS控制字符区别,部分ASCII码做了数据转意),对照前面分析的MMS PDU封装格式和头域编码,根据对解码数据的分析,这段典型的MMS PDU协议封装格式分析如下:
        获取的MMS PDU十六进制数据流:
          8C809820202039363034303539008D90891A802B383631 33 39303030
    30303030302F545950453D504C4D4E00972B3836313335323130363935
    36342F545950453D504C4D4E0096746573740032303036303333313138
    33 37 00 85 04 44 2D 07 73 88 06 80 04 44 30 FB F3 84 A3 0101 A1 9E FF D8......(标准
    的JPEG图片数据略)......FF D9
        其中对某些具体数据分析如下:

    MMS头:
        8C—表示X-Mms-Message-Type
        80— m-send-req
          98— X-Mms-Transaction-ID
        39 36 30 34 30 35 39-Transaction-ID值:9604059
          8D— X-Mms-Version
        90— MMS Version值1.0
        2B 38 36 3133 39 30 30 30 30 30 30 30 30—具体源地址:+8613900000000
        2B 38 36 3133 35 32 31 30 36 39 35 36 34—目的地址:+8613521069564
        2F 54 59 50 45 3D 50 4C 4D 4E 00— TYPE=PLMN
        96—主题
        7465737400—主题值:test
        32 30 30 36 30 33 33 313138 33 37 00— 200603311837(2006.3.31 18:37)
        85—表示date
        88—表示X-Mms-Expiry
        44 30 FB F3— X-Mms-Expiry时间值
        84—表示:Content-Type
        MMS消息体:
        A3—表示:application/vnd.wap.multipart.mixed
        A1—表示:multipart/form-data
        9E—表示:image/jpeg(表示之后的图片数据属性为JPEG格式)
        FF D8—表示图片的开始
        ······—表示传输的JPEG图片数据(本论文对JPEG图片数据不再作分析)
        FF D9—表示图片的结束
        以上分析的就是一个典型的MMS PDU消息格式,即MMS PDU包含MMS头和
    MMS消息体。发送的MMS信息只有一张图片,采用JPEG编码格式;目的手机号13521069564;主题值:test.
        由于本实验中只发送单一的图像或文本,Content-Type被设置为applicationJvnd.wap.multipart.related方式。
    Content-Type后面是JPEG图像数据:image/jpeg,再不需要加入SMIL描述部分和Start参数设置,这样可以减少传输的字节数据,优化网络传输。在实现MMS发送时,可以根据MMS的内容选择不同的Content-Type.

  • 相关阅读:
    html表单
    html基础
    MySQL数据库 数据的更新
    JAVA数据库编程
    集合框架
    线程和进程
    反射
    centos 7环境
    js中的this
    javascript的作用域以及闭包现象
  • 原文地址:https://www.cnblogs.com/nobileamir/p/1884393.html
Copyright © 2011-2022 走看看