其中,第6字节“10”是WSP协议版本号,高4位是版本号的整数部分,低4位是版本号的小数部分,这里为V1.0;第7字节是能力字段长度,没有使用能力请求,故长度为00;第8字节是报头字段长度,没有报头,故长度为00。
服务器返回数据如下(30字节):
0001 12 80 00 02 B5 C5 1 5 00 15 45 6E 63 6F 64 69 6E........Encodin
0017 67 2D 76 65 72 73 69 6F 6E 00 31 2F 32 00 00 00 g—version.1.2...
返回数据中第1~3字节是WTP Result PDU,其余为WSP协议数据单元。WTP Result PDU采用固定长度格式,其结构如表3所列。
其中,CON=0,PDU Type=0010,GTR=0,TTR=1,RID=O,故第1字节为12;TID High Byte=10000000,故第2字节为80;TID Low Byte=00000000,故第3字节为OO。
返回数据中的第4字节“02”是WSP会话连接确认ConnectReply的代码;第5~30字节是WSP ConnectReplyPDU。
WSP ConneetReply PDU结构如表4所列。
第5~8字节“B5 C5 15”是会话标识;第10字节“15”是HeadersLen(21字节),Headers是以00结束的字符串,即Encoding—version 1.2。
2.2 控制设备发送WTP确认完成会话连接
控制设备发送WTP确认(WTP Acknowledgement,3字节):18 00 00。WTP Acknowledgement PDU采用固定长度格式,如表5所列。
其中,CON=0,PDU Type=0011,Tve/Tok=0,RES=0,RID=0,故第1字节为18;TID High Byte=00000000,故第2字节为00;TID Low Byte=00000000,故第3字节为OO。
2.3 控制设备发送WTP、WSP和MMS包
控制设备首先发送WTP和WSP(49字节):
0001 0E 00 01 1 2 60 1A 10 68 74 74 70 3A 2F 2F 6D 6D.......http://mm
0017 73 63 2E 6D 6F 6E 74 6 5 72 6E 65 74 2E 63 6F 6D SC.monternet.com
0033 2F BE 80 BE C7 80 A1 09 80 77 61 70 00 77 61 70/........wap.wap
0049 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
发送数据序列中,前4个字节“0E 00 01 12”是WTPInvoke PDU,后45个字节是WSP协议数据单元。
WTP Invoke PDU同样采用了固定结构格式(如表1所列)。其中,CON=0,PDU Type=0001,GTR=1,TTR=1,RID=0,故第1字节为0E;TID High Byte=00000000,故第2字节为00;TID Low Byte=00000001,故第3字节为01;Version=00,TIDnew=0,U/P=1,RES=00,TCL=10,故第4字节为12。
发送数据序列中第5字节“60”是WSP方法Post的代码,第6~49字节是WSP Post PDU。WSP Post PDU结构如表6所列。