电脑技术学习

PUSH SMS消息开发的范例

dn001

wap;push包的构成:
WDP+WSP+SI/SL

[范例]
06;05;04;0B;84;23;F0;81;06;06;03;8D;82;02;05;6A;00;45;C6;08;0C;03;77;75;68;61;6e;32;2e;70;70;63;6f;6d;

6d;2e;63;6f;6d;2f;77;61;70;74;65;73;74;2f;74;65;73;74;2e;61;73;70;78;00;0A;C3;07;20;03;01;01;00;00;00;10

C3;07;20;04;01;01;00;00;00;01;03;41;6c;6c;46;61;73;74;20;54;65;73;74;00;01;01;

1、单包:
Total:(XX为未固定)
06;05;04;0B;84;23;F0;81;06;06;03;8D;XX;02;05;6A;00;45;C6;08;0C;03;XX;00;0A;C3;07;20;03;01;01;00;00;00;

10;C3;07;20;04;01;01;00;00;00;01;03;XX;00;01;01;

WDP(UDH):
06;05;04;0B;84;23;F0
/************************
解释:
06;;;;;;'User;Data;Header;Length;(6;bytes)
05;;;;;;'UDH;Item;Element;id;(Port;Numbers)
04;;;;;;'UDH;IE;length;(4;bytes)
0B;84;;;'destination;port;number
23;F0;;;'origin;port;number
*************************/

WSP(Push;PDU):
81;06;06;03;8D;XX
/************************
解释:
81;;;;;'transaction;id;(connectionless;WSP)
06;;;;;'pdu;type;(06=push)
06;;;;;'Headers;len
03;AE;81;EA;;;;'content;type:;application/vnd.wap.sic;;charset=utf-8
8D;;;;;'content-length
XX;;;;;'这里就是Push消息体的长度
*************************/

SI/SL(Push消息体):
02
05;;'-//WAPFORUM//DTD;SI;1.0//EN
6A;;'UTF-8
00
45;;'<si>
C6;;'<indication
08;;'<action=signal-high>
0C;;'href=/"http://
03;;'字符串开始
'这里就是url从/"http:///"以后的那部分的每个字符的ASCII码
00;;'字符串结束
0A;;'created=
C3;;'时间
07;;'7个字节,也可以是04,下面就只需要年月日就可以了
20;03;01;01;00;00;00;'年,月,日,时,分,秒,格式如何一看就明白吧。
10;;'si_expires=
C3;;'时间
07;;'7个字节,也可以是04,下面就只需要年月日就可以了
20;04;01;01;00;00;00;;'跟上面一样
01;;'>
03;;'字符串开始
'这里就是显示给用户的内容,用utf-8编码。
'utf-8编码,英文字符直接用ascii码;中文如果unicode是(二进制)abcdefgh;ijklmnop,
'那么utf-8就会变成1110abcd;10efghij;10klmnop
00;;'字符串结束
01;;'</indication>/"
01;;'</si>

2、多包
WDP1;+;(WSP+SI/SL)的part;1
WDP2;+;(WSP+SI/SL)的part;2
...
WDPN;+;(WSP+SI/SL)的part;N