短消息代理(cmpp20 smproxy)要怎么创建java项目_基于华为smproxy开发的cmpp3

【实例简介】

smproxy_protocolName.jar    SMProxy的相应jar包(protocolName表示协议名称)

config.xml配置文件样例

infoX SMProxy V1.5D201 API DOC     API文档

【实例截图】

a649f9f013c7e035c0ba0197ae1add08.png

【文件目录】

│  .DS_Store

│  config.xml

│  readme.txt

│  smproxy_cmpp.jar

├─cmpppdemo

│  │  .DS_Store

│  │  CMPP_demo.jpx

│  │  config.xml

│  │

│  ├─bak

│  ├─classes

│  ├─doc

│  ├─proxy

│  │      smproxy_cmpp.jar

│  │

│  └─src

│      ├─com

│      │  └─huawei

│      ├─demo

│      │  ├─cmppdemo20

│      │  │      CmppDemo.java

│      │  │      Env.java

│      │  │      MySMGPSMProxy.java

│      │  │      SMGPSMProxyDemo.java

│      │  │      WebSMSender.java

│      │  │

│      │  └─cmppdemo30

│      │          Demo30.java

│      │          DemoConst.java

│      │          MySMProxy30.java

│      │          SendReqThread30.java

│      │          vssver.scc

│      │

│      └─META-INF

│              MANIFEST.MF

└─infoX-SMProxy V1.5D202 API DOC FOR CMPP

│  allclasses-frame.html

│  allclasses-noframe.html

│  constant-values.html

│  deprecated-list.html

│  help-doc.html

│  index-all.html

│  index.html

│  overview-frame.html

│  overview-summary.html

│  overview-tree.html

│  package-list

│  packages.html

│  stylesheet.css

├─com

│  └─huawei

│      └─smproxy

│          │  CMPPSMProxy.html

│          │  CMPPSMProxy30.html

│          │  package-frame.html

│          │  package-summary.html

│          │  package-tree.html

│          │

│          └─comm

│              ├─cmpp

│              │  │  CMPPConnection.html

│              │  │  CMPPConstant.html

│              │  │  CMPPReader.html

│              │  │  CMPPTransaction.html

│              │  │  CMPPWriter.html

│              │  │  package-frame.html

│              │  │  package-summary.html

│              │  │  package-tree.html

│              │  │

│              │  └─message

│              │          CMPPActiveMessage.html

│              │          CMPPActiveRepMessage.html

│              │          CMPPCancelMessage.html

│              │          CMPPCancelRepMessage.html

│              │          CMPPConnectMessage.html

│              │          CMPPConnectRepMessage.html

│              │          CMPPCorpCancelAllAckMessage.html

│              │          CMPPCorpCancelAllMessage.html

│              │          CMPPCorpCancelAskMessage.html

│              │          CMPPCorpCancelMessage.html

│              │          CMPPCorpQueryAckMessage.html

│              │          CMPPCorpQueryMessage.html

│              │          CMPPCorpRegAckMessage.html

│              │          CMPPCorpRegMessage.html

│              │          CMPPDeliverMessage.html

│              │          CMPPDeliverRepMessage.html

│              │          CMPPMessage.html

│              │          CMPPQueryMessage.html

│              │          CMPPQueryRepMessage.html

│              │          CMPPSubmitMessage.html

│              │          CMPPSubmitRepMessage.html

│              │          CMPPTerminateMessage.html

│              │          CMPPTerminateRepMessage.html

│              │          package-frame.html

│              │          package-summary.html

│              │          package-tree.html

│              │          ToStringHandle.html

│              │

│              └─cmpp30

│                  │  CMPP30Connection.html

│                  │  CMPP30Reader.html

│                  │  CMPP30Transaction.html

│                  │  package-frame.html

│                  │  package-summary.html

│                  │  package-tree.html

│                  │

│                  └─message

│                          CMPP30ConnectRepMessage.html

│                          CMPP30DeliverMessage.html

│                          CMPP30DeliverRepMessage.html

│                          CMPP30SubmitMessage.html

│                          CMPP30SubmitRepMessage.html

│                          package-frame.html

│                          package-summary.html

│                          package-tree.html

└─resources

inherit.gif

【核心代码】

package demo.cmppdemo20;

import com.huawei.smproxy.comm.cmpp.message.CMPPSubmitMessage;

/**

* CMPP协议测试代码

*/

public class CmppDemo

{

public CmppDemo ()

{}

public static void main ( String[] args )

{

//生成100个接收短信的手机号码

System.out.print ( "Create 100 receiver Mobile No..." ) ;

String[] rcvMobile = new String[ 100 ] ;

int count = 0 ;

for ( int i = 0 ; i < 10 ; i )

{

for ( int j = 0 ; j < 10 ; j )

{

rcvMobile[ count ] = "136000000" i j ;

count ;

}

}

System.out.println ( "OK" ) ;

//生成一个CMPP消息

System.out.print ( "new CMPPMessage..." ) ;

CMPPSubmitMessage msg = new CMPPSubmitMessage (

1 , //相同Msg_id消息的总条数

1 , //相同Msg_id的消息序号

1 , //需要状态报告

1 , //信息类别

"websms" , //业务类型,应与Infox对应

1 , //计费用户类型,0:对目的终端MSISDN计费,1:对源终端MSISDN计费,2:对SP计费,3:本字段无效

"13813245678" , //被计费用户的号码(因是对主叫计费,所以此段填写了空)

0 , //GSM协议类型

0 , //GSM协议类型

0 , //信息的CMPP格式类型: 0: ASCII格式, 1: UCS2格式

"websms" , //信息内容来源,对应于登录Infox的帐号

"02" , //资费类别,“短消息类型”为“发送”,对“计费用户号码”不计信息费,此类话单仅用于核减SP对称的信道费

"10" , //资费代码,以分为单位

new java.util.Date ( System.currentTimeMillis ()

2 * 24 * 60 * 60 * 1000 ) , //存活有效期,当前时间 2天

null , //定时发送时间(null:立即发送)

"8888" , //源终端MSISDN号码(为SP的服务代码或前缀, 为服务代码的长号码,

//网关将该号码完整的填到SMPP协议相应的destination_address字段,

//该号码最终在用户手机上显示为短消息的主叫号码) (没有可以为空)

rcvMobile , //接收业务的MSISDN号码(数组)

"字段网关字段网关将该号码完整的填到SMPP协议相应的destination_address字段字段网关将该号码完整的填到SMPP协议相应的destination_address字段".getBytes () ,

"" ) ;

System.out.println ( "OK" ) ;

int sendcount = 100 ;

int sendinterval = 20 ;

//第一个参数是发送次数

try

{

sendcount = Integer.parseInt ( args[ 0 ] ) ;

}

catch ( Exception ex )

{

sendcount = 1 ;

}

//第二个参数是两次发送间等待的时长(秒)

try

{

sendinterval = Integer.parseInt ( args[ 1 ] ) ;

}

catch ( Exception ex )

{

sendinterval = 1 ;

}

//发送消息(发送多次)

for ( int i = 0 ; i < sendcount ; i )

{

System.out.print ( "Send Message..." ) ;

if ( WebSMSender.getInstance ().send ( msg ) )

{

System.out.println ( "Success" ) ;

}

else

{

System.out.println ( "Fail" ) ;

}

//两次发送间等待一段时间,以便于infox能够进行跟踪调试

try

{

Thread.sleep ( 1000 * sendinterval ) ;

}

catch ( Exception ex )

{}

}

while(true)

{

try

{

Thread.sleep ( 1000 ) ;

}

catch ( Exception ex )

{}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java cmpp2.0 3.0 无jar纯源码demo(含服务端测试工具)[20171205] 找了挺多资料,CMPP的资源很多,但可以参考可用的不多, 特此开源cmppDEMO程序,无jar插件,纯源码实现。 语言为:java 工具为:Intellij IDEA 2017 附带第三方CMPP服务器测试工具,便于调试。 注解详细如: private long Msg_Id=0x00;//信息标识,由SP接入的短信网关本身产生,本处填空。 private byte Pk_total=0x01;//相同Msg_Id的信息总条数,从1开始 private byte Pk_number=0x01;//相同Msg_Id的信息序号,从1开始 private byte Registered_Delivery=0x01;//是否要求返回状态确认报告:0:不需要 1:需要 private byte Msg_level=0x01;//信息级别 private String Service_Id="";//业务类型,是数字、字母和符号的组合。 private byte Fee_UserType=0x00;//计费用户类型字段 0:对目的终端MSISDN计费; 1:对源终端MSISDN计费;2:对SP计费 private String Fee_terminal_Id="";//被计费用户的号码 private byte TP_pId=0x00;//GSM协议类型 private byte TP_udhi=0x00;//GSM协议类型。详细是解释请参考 private byte Msg_Fmt=0x0f;//信息格式0:ASCII串 3:短信写卡操作 4:二进制信息 8:UCS2编码 (0f)15:含GB汉字 private String Msg_src="";//信息内容来源(SP_Id) private String FeeType="01";//资费类别 01:对“计费用户号码”免费 02:对“计费用户号码”按条计信息费 03:对“计费用户号码”按包月收取信息费 04:对“计费用户号码”的信息费封顶 05:对“计费用户号码”的收费是由SP实现 private String FeeCode="000000";//资费代码(以分为单位) private String ValId_Time="";//存活有效期 private String At_Time="";//定时发送时间 private String Src_Id="";//源号码 SP的服务代码或前缀为服务代码的长号码, 网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码 private byte DestUsr_tl=0x01;//接收信息的用户数量(小于100个用户) private String Dest_terminal_Id="";//接收短信的MSISDN号码 private byte Msg_Length;//信息长度(Msg_Fmt值为0时:<160个字节;其它<=140个字节) private byte[] Msg_Content;//信息内容 private String Reserve="";//保留
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值