DM协议简介-例子

  • 格式:doc
  • 大小:77.00 KB
  • 文档页数:11
#一个Alert命令表明该消息类型,相当Inform中的Event标签,表明此次inform发起原因
<Alert>
<CmdID>1</CmdID>
<Data>1200</Data> <!-- Server-initiated session -->#请求服务器初始化会话
</Alert>
#“Replace”命令,相当于SetParameterRequest命令,这里是指设备的相关参数
</Meta>
<Data>en-US</Data>
</Item>
</Replace>
#“final”命令表示全部命令结束
<Final/>
</SyncBody>
</SyncML>
Package 2:从服务器到客户端
<SyncML xmlns='SYNCML:SYNCML1.2'>
<SyncHdr>
<VerDTD>1.2</VerDTD>
<Data>Device Factory, Inc.</Data>
</Item>
<Item>
<Source><LocURI>./DevInfo/Mod</LocURI></Source>
<Meta>
<Format xmlns='syncml:metinf'>chr</Format>
<Type xmlns='syncml:metinf'>text/plain<e xmlns="syncml:metinf">syncml:auth-basic</Type>
<Format xmlns='syncml:metinf'>b64</Format>
</Meta>
</Cred>
</SyncHdr>
<SyncBody>
#对Package 1 SyncHdr即认证的回复
</Meta>
<Data>SmartPhone2000</Data>
</Item>
<Item>
<Source><LocURI>./DevInfo/DmV</LocURI></Source>
<Meta>
<Format xmlns='syncml:metinf'>chr</Format>
<Type xmlns='syncml:metinf'>text/plain</Type>
<Source>
<LocURI>IMEI:111111111111111</LocURI>
</Source>
<Cred> <!-- Client credentials are mandatory if the transport layer is not providing authentication.-->
例一:这个例子服务器会对客户端做一个WAP连接的设置,会询问用户是否接受该设置
Package 1:从客户端到服务器
<SyncML xmlns='SYNCML:SYNCML1.2'>
#syncML包头
<SyncHdr>
<VerDTD>1.2</VerDTD>
<VerProto>DM/1.2</VerProto>
</Data>
</Cred>
<Meta> <!-- Maximum message size for the client -->
<MaxMsgSize xmlns="syncml:metinf">5000</MaxMsgSize>
</Meta>
</SyncHdr>
#syncML包体
<SyncBody>
</Target>
<Data><!-- Base64-coded WAP connectivity document --></Data>
</Item>
</Replace>
</Sequence>
<Final/>
</SyncBody>
</SyncML>
Package 3:客户端回复
<SyncML xmlns='SYNCML:SYNCML1.2'>
<Meta>
<Format xmlns='syncml:metinf'>chr</Format>
<Type xmlns='syncml:metinf'>text/plain</Type>
</Meta>
#“Data”设备ID具体值
<Data>IMEI:111111111111111</Data>
</Item>
<Meta>
<Type xmlns="syncml:metinf">syncml:auth-basic</Type>
<Format xmlns='syncml:metinf'>b64</Format>
</Meta>
<Data>
<!-- base64 formatting of userid:password -->
<Data>200</Data><!-- OK -->
</Status>
#对Package 1 Replace消息的回复
<Status>
<MsgRef>1</MsgRef><CmdRef>3</CmdRef>
<CmdID>8</CmdID>
<Cmd>Replace</Cmd>
<Data>200</Data><!-- OK -->
</Target>
<Source>
<LocURI>IMEI:111111111111111</LocURI>
</Source>
</SyncHdr>
<SyncBody>
#SyncHdr即认证的回复
<Status>
<MsgRef>1</MsgRef>
<CmdID>1</CmdID>
<CmdRef>0</CmdRef>
<Replace>
<CmdID>4</CmdID>
#“<Meta>”定义以上WAP消息的消息类型“<Type>”和信息内容的格式化方式“<Format>”使用Base64编码
<Meta>
<Format xmlns="syncml:metinf">b64</Format>
<Type xmlns="syncml:metinf">
<Cmd>Replace</Cmd>
<TargetRef>./settings/wap_settings/CNN</TargetRef>
<!-- OK, access point added -->
<Data>200</Data>
</Status>
<Final/>
</SyncBody>
</SyncML>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
# Target消息的目的地ID为http:// IP地址/服务器应用
<Target>
<LocURI>http://192.168.0.100:8088/dmserver</LocURI>
</Target>
# Source本地资源,这里是客户端ID
<Cmd>SyncHdr</Cmd>
<!-- SyncHdr accepted -->
<Data>212</Data>
</Status>
# Sequence命令是否正常执行的回复
<Status>
<MsgRef>1</MsgRef>