注意,短信应当以二进制格式发送(SMPP和CMPP里,编码为0x04)

短信内容,WAP PUSH是使用1条或者多条短信来发的,如果内容超过了140个字节,就必须分多条发送,规则如下:


第一条:

0B                  WAPPUSH头部的总长度,不包括本字节
05                  IE=16bit port addressing
04                  lenght of ports
0B84                dest. port
23F0                source port
00                  表示是Concatenated Short Messages
03                  udh头长度
B3                  reference number
02                  02是指共有两条短信
01                  01是指这是第一条
B30601AE

02
05                  '-//WAPFORUM//DTD SI 1.0//EN
6A                  UTF8
00                  标记开始
45                  <si>
C6                  <indication
0C                  href="http://
03                  字符串开始
6865726F2E7478736D732E636F6D                        这里是URL地址  (hero.txsms.com),注意不要有http://
00                  URL结束
01                  ">
03                  字符串开始
7465737474657374746573747465737474657374746573747465737474657374746573747465737474657374
7465737474657374746573747465737474657374746573747465737474657374746573747465737474657374
74657374746573747465
描述文字开始,注意:utf编码。
                         



第二条:

0B                  WAPPUSH头部的总长度 ,不包括本字节
05040B8423F0        表示接下来是一个WAPPUSH     6字节
00                  表示是Concatenated Short Messages
03                  udh头长度
B3                  reference number
02                  02是指共有两条短信
02                  02是指这是第2条
737474657374746573747465737474657374746573747465737474657374746573747465737474657374
00                  字符串结束
01                  ">
01                  ">





上面的代码没有经过测试... 我实际在cmpp2的端口下测试, nokia 9300的手机和其他几个nokia的手机都无法收到..

以下是正在测试的代码

0B      WAPPUSH头部的总长度,不包括本字节
05      IE=16bit port addressing
04      lenght of ports
0B84    dest. port
23F0    source port
00      表示是Concatenated Short Messages
03      udh头长度
01      ??
01      01是指共有1条短信

01      01是指这是第一条

01060403AE81EA
02      ??
05      '-//WAPFORUM//DTD SI 1.0//EN
6A      UTF8
00      标记开始
45      <si>
C6      <indication
0C      href="http://
03      字符串开始
7761702E78756E6368656E2E636F6D
00      URL结束
07      ??
01      "> ??
03      字符串开始
E6B58BE8AF95
00      字符串结束
01      ">
01      ">