动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 移动短信技术
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 移动短信技术 ]的信息

本月文章推荐
.利用手机模块实现短消息(二).
.移动和联通相关开发协议和规范.
.为Nokia S60编写移动游戏之二.
.基于短信网关WAP推送的实现.
.J2ME编程之Nokia 7210配置篇.
.CMPP DELIVER.
.各网关厂商API接口.
.用脚本发送带有SMS的文本消息.
.NOKIA封装的手机开发包SDK文档.
.西门子图片比较粗糙的一个算法.
.基于Nokia S60的游戏开发之五.
.手机铃声和图片的详细设计说明.
.各手机厂商开发规范(主要是铃声.
.SMS开发的资料包.
.CMPP2.0协议升级.
.EMS图片格式转换(Java)程序.
.用J2ME的通用联网框架开发联网的.
.BREW、JAVA、.NET三大平台之比较 .
.SMS基本概念和移动通信系统介绍.
.移动业务代码规范方案.

基于CMPP2及东软API短信平台的开

文章类别:移动短信技术 | 发表日期:2005-1-3 |


  本平台针对网关开发。

  东软API不知道是什么版本的,源代码出现某个错误,某数组允许长度64,API文档里也说明是64,可是它是65。破解之,改之,重新编译之,无问题。

  API文档里示例程序也有若干错误,很奇怪,既然是对外发布的版本,居然没有一条注释,改之,现在调试运行没有问题,可以发送短信。

  下面提供的只是个简单的示例,要强调一些细节。假设你把API放在d:\message\com\commerceware\cmpp\ 目录下,我的示例也在改目录下,那么编译和运行请转到message目录下

  编译javac -classpath D:\message\ f:\message\com\commerceware\cmpp\Test.java
  运行java com.commerceware.cmpp.Test 13711111111 我爱ABC

  运行时第一个参数是对方手机号,第二个参数是发送内容。以下是程序内容,登陆IP和用户名密码等我已隐藏。但程序是正常的,你首先需要申请一个SP的资格:

package com.commerceware.cmpp;

public class Test{

public void readPaME(conn_desc con)
{
cmppe_result cr = null;
CMPP cp = new CMPP();
try{
cr = cp.readResPack(con);
System.out.println("cr.pack_id=" + cr.pack_id);
switch(cr.pack_id)
{
case CMPP.CMPPE_NACK_RESP:


System.out.println("CMPP.CMPPE_NACK_RESP:get nack pack");
break;

case CMPP.CMPPE_LOGIN_RESP:
cmppe_login_result cl;
cl = (cmppe_login_result)cr;


System.out.println("CMPP.CMPPE_LOGIN_RESP:login resp: STAT = "+cl.stat);
break;

case CMPP.CMPPE_LOGOUT_RESP:


System.out.println("CMPP.CMPPE_LOGOUT_RESP:logout resp: STAT = "+cr.stat);
break;

case CMPP.CMPPE_SUBMIT_RESP:


System.out.println("CMPP.CMPPE_SUBMIT_RESP");
cmppe_submit_result sr;
sr = (cmppe_submit_result)cr;
cmppe_cancel cc1 = new

cmppe_cancel();
//cc1.set_msgid(new

String(sr.msg_id)));
cc1.set_msgid(new

String(sr.msg_id));
break;

case CMPP.CMPPE_DELIVER:


System.out.println("CMPP.CMPPE_DELIVER:deliver: STAT = 0");


cmppe_deliver_result cd=

(cmppe_deliver_result)cr;


cp.cmpp_send_deliver_resp(con,cd.seq,cd.stat);
break;

case CMPP.CMPPE_CANCEL_RESP:


System.out.println("CMPP.CMPPE_CANCEL_RESP:cancel: STAT = " + cr.stat);
break;
case CMPP.CMPPE_ACTIVE_RESP:


System.out.println("CMPP.CMPPE_ACTIVE_RESP:active resp: STAT " + cr.stat);
break;
default:
break;


}
}catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
System.out.println("have a exception");
try{
System.in.read();
}catch(Exception e1){}

}
}

public static void main(String[] args)
{

if(args[0] == null || args[0].equals("") || args[0].length() != 11){
System.out.println("手机号码输入不正确");
return;
}
if(args[1] == null || args[0].equals("") || args[1].length() == 0){
System.out.println("没有输入短信内容");
return;
}

CMPP p = new CMPP();
Test t = new Test();
char test[] = new char[10];
byte short_msg[] = new byte[150];
byte buf[] = new byte[40];
byte b1[] = new byte[10];


cmppe_submit sub = new cmppe_submit();
cmppe_submit_result res =new cmppe_submit_result();
cmppe_cancel can = new cmppe_cancel();

byte icp_id[] = new byte[10]; //ICP隐藏
icp_id[0] =0x**;
icp_id[1] =0x**;
icp_id[2] =0x**;
icp_id[3] =0x**;
icp_id[4] =0x**;
icp_id[5] =0x**;
icp_id[6] = 0;
byte svc_type[] = new byte[6];
svc_type[0] = 0x39;
svc_type[1] = 0x34;
svc_type[2] = 0x31;
svc_type[3] = 0x30;
svc_type[4] = 0;

byte fee_type = 0;
byte info_fee = 1;
byte proto_id = 1;

byte msg_mode = 1;
byte priority =9;
byte fee_utype = 2;
byte fee_user[] = new byte[CMPP.CMPPE_MAX_MSISDN_LEN];
for(int i=0; i<12; i++)
fee_user[0] = 0x31;
fee_user[1] = 0x33;
fee_user[2] = 0x38;
fee_user[3] = 0x30;
fee_user[4] = 0x35;
fee_user[5] = 0x30;
fee_user[6] = 0x30;
fee_user[7] = 0x31;
fee_user[8] = 0x30;
fee_user[9] = 0x36;
fee_user[10]= 0x34;
fee_user[11]= 0x0;

byte validate[] = new byte[10];
validate[0] =0;
byte schedule[] = new byte[2];
schedule[0] =0;
byte src_addr[] = new byte[12];
src_addr[0] = 0x31;
src_addr[1] = 0x33;
src_addr[2] = 0x38;
src_addr[3] = 0x30;
src_addr[4] = 0x35;
src_addr[5] = 0x30;
src_addr[6] = 0x30;
src_addr[7] = 0x31;
src_addr[8] = 0x30;
src_addr[9] = 0x36;
src_addr[10]= 0x34;
src_addr[11]= 0x0;

byte du_count = 1;
byte dst_addr[][] = new byte[10][15];

dst_addr[0][0] = toHex(args[0].charAt(0)); //CMPPE_MAX_MSISDN_LEN+1
dst_addr[0][1] = toHex(args[0].charAt(1));
dst_addr[0][2] = toHex(args[0].charAt(2));
dst_addr[0][3] = toHex(args[0].charAt(3));
dst_addr[0][4] = toHex(args[0].charAt(4));
dst_addr[0][5] = toHex(args[0].charAt(5));
dst_addr[0][6] = toHex(args[0].charAt(6));
dst_addr[0][7] = toHex(args[0].charAt(7));
dst_addr[0][8] = toHex(args[0].charAt(8));
dst_addr[0][9] = toHex(args[0].charAt(9));
dst_addr[0][10]= toHex(args[0].charAt(10));
dst_addr[0][11]= 0x0;

 

//byte data_coding = 1;
byte data_coding = 15; //15为GB2312
byte sm_len = 120;

String ss = args[1];

try{
short_msg = ss.getBytes("GB2312");
ss = new String(short_msg);
}catch(Exception e){

}
System.out.println(short_msg.length);

cmppe_result cr = new cmppe_result();
cmppe_deliver_result rs = new cmppe_deliver_result();
try{
conn_desc con = new conn_desc();
System.out.println("connecting...");
p.cmpp_connect_to_ismg("111.111.111.111",7890,con); //登

陆信息隐藏,SORRY哈
System.out.println("ICP_ID:" + "******" + " ICP_AUTH:" + "**");
p.cmpp_login(con,"*****","****",(byte)2,0x12,*******);
t.readPaME(con);

sub.set_icpid(icp_id );
sub.set_svctype(svc_type);
sub.set_feetype(fee_type );
sub.set_infofee(info_fee);
sub.set_protoid(proto_id);
sub.set_msgmode(msg_mode );
sub.set_priority(priority );
sub.set_validate(validate);
sub.set_schedule(schedule );
sub.set_feeutype(fee_utype);
sub.set_feeuser(fee_user);
sub.set_srcaddr(src_addr );
sub.set_dstaddr(dst_addr );
sub.set_ducount(du_count);

sub.set_msg(data_coding,short_msg.length,short_msg );
p.cmpp_submit(con,sub);
t.readPaME(con);
p.cmpp_active_test(con);
t.readPaME(con);

p.cmpp_logout(con);
t.readPaME(con);

}catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
System.out.println("have a exception");
try{
System.in.read();
}catch(Exception e1)
{
}
return;
}
}

public static byte toHex(char c){
switch(c){
case ?':
return 0x31;
case ?':
return 0x32;
case ?':
return 0x33;
case ?':
return 0x34;
case ?':
return 0x35;
case ?':
return 0x36;
case ?':
return 0x37;
case ?':
return 0x38;
case ?':
return 0x39;
case ?':
return 0x30;
default: break;
}
return 0x0;
}

  如果您运行该程序得到该结果,就说明正常。

7
connecting...
ICP_ID:111111 ICP_AUTH:1111
login_type:2
CMPP_VERSION:18
cr.pack_id=-2147483647
CMPP.CMPPE_LOGIN_RESP:login resp: STAT = 0
cr.pack_id=5
CMPP.CMPPE_DELIVER:deliver: STAT = 0
cr.pack_id=-2147483644
CMPP.CMPPE_SUBMIT_RESP
cr.pack_id=-2147483640
CMPP.CMPPE_ACTIVE_RESP:active resp: STAT 0 

  主要看stat是0就行了,其它的是我的调试信息,首行7表示短信长度


上一篇:用J2ME的通用联网框架开发联网的应用程序 人气:22014
下一篇:Windows CE下驱动程序开发基础 人气:27696
点击此处浏览全部CMPP2的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報