日期:2014-01-24  浏览次数:20629 次

以亚信的CMPP1.22API为例(java)

aiismg.jcmppapi包
包含class CMPPAPI, CMPPDeliverResp, CMPPQueryResp etc.

和一般的程序没有区别

CMPPAPI pCMPPAPI = new CMPPAPI();

if( pCMPPAPI.InitCMPPAPI( "../config/javacmppc.ini" ) != 0 ) {
if( nOutput == 1 ) {
System.out.println( "Fail to call InitCMPPAPI!" );
}
System.exit( 1 );
}

// CMPPSendSingle包括参数服务代码,接受手机,发送端口,计费手机,消息格式,消息级别,是否回复等参数

if( pCMPPAPI.CMPPSendSingle( nNeedReply, nMsgLevel,
sServiceID, nMsgFormat,
sFeeType, sFeeCode,
sValidTime, sAtTime,
sSrcTermID, sDestTermID,
nMsgLen, sMsgCon,
sMsgID, (byte)0, null, (byte)0, (byte)0 ) != 0 )
{
if( nOutput == 1 ) {
System.out.println( "Fail to call CMPPSendSingle, error=" + pCMPPAPI.GetErrCode() );
}
System.exit( 1 );
}

接收的程序就做一个线程通过

private CMPPDeliverResp deliver = new CMPPDeliverResp();
int error = CMPPDeliver( nTimeout, deliver );

来处理返回的数据。其他公司的API各有各的写法。

其他需要高级功能的,可自行在CMPP协议基础上进行开发。