⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testapi.c

📁 用c/c++实现的一个CMPP API
💻 C
字号:
#include "cmppapi.h"#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main( int argc, char** argv ){//    CONNFD  FD;    int nRet ;//    int i;    char    sMsgId[ 9 ];    unsigned char chResult;    char    sLastTerminateId[ 21 ];    int nReceiptOrNot;     unsigned int unSequenceId;    recCmppDeliver rCmppDeliver;    recCmppReceiptBody rReceiptBody;    recSubmit rSubmit;                /*        for( i=0; i<40000; i++ )    {                printf( "reconnect \n" );        nRet = nInitInterface(                        "cmppapi.ini",                        &FD                        );                  if( nRet != API_OK )        {            printf( "nRet = %d\n", nRet );            printf( "Error: %s\n", sGetErrorDetail() );        }        else        {            printf( "nRet = %d\n", nRet );            printf( "FD = %d\n", FD );          }                 printf( "exit interface \n" );                    nRet = nExitInterface( FD );          printf( "after exit, nRet = %d\n", nRet );                 if( nRet != API_OK )        printf( "Error: %s\n", sGetErrorDetail() );                   }*/     /* *描述:(1) 初始化系统接口的配置参数        (2)	连接MTBS服务器        (3)	创建连接接收线程        (4)	创建连接发送线程        (5	创建接收缓冲区        (6)	创建发送缓冲区        (7)	创建MO、回执缓冲区 *输入:sIniFile 配置文件名 *输出:无 *返回值:API_OK 成功 *        其它 失败 */    nRet = nHInitInterface( "cmppapi.ini" );    if( nRet != API_OK )    {        printf( "Error: %s\n", sGetErrorDetail() );        return -1;    }    memset( &rSubmit, 0, sizeof( recSubmit ) );    //strcpy( rSubmit.sInMsgId,  "12345678" );    //strcpy( rSubmit.sFeeTerminalId,  "13900010001" );        strcpy( rSubmit.sFeeType,  MacFeeType_Piece );    rSubmit.nFeeCode = 50;    strcpy( rSubmit.sServiceId,  "0017" );    rSubmit.ucTpPid = 0 ;    rSubmit.ucTpUdhi = 0;    strcpy( rSubmit.sSrcId,  "0017" );    rSubmit.ucPkTotal = 1;    rSubmit.ucPkNumber = 1;    rSubmit.ucFeeTerminalType = 0;        nRet = nHSubmit(                     &rSubmit,                    "13900010001",                    0,                    MSG_FORMAT_GB, //unsigned char ucMsgFmt,                    10,               //const unsigned char ucMsgLength,                    "1234567890",    //const char *sMsgContent,                    sMsgId,          // unsigned char *sMsgId,                    &chResult,                    sLastTerminateId               );    if( nRet != API_OK )    {        //printf( "Submit Error: %s\n", sGetErrorDetail() );        printf( "Submit Error: %s\n", sGetErrorReason( nRet ) );        return -1;    }    else    {        printf( "Success nHSubmit\n"  );    }    /* * 描述:高层取缓冲中的普通MO,回执    * 输入:int nTimeOut 超时时间(秒) * 输出:int* pnReceiptOrNot   *           类型:1 回执 0 deliver   *       unsigned int* punSequenceId   *       recCmppDeliver*      prCmppDeliver  *       recCmppReceiptBody*  prReceiptBody,  *               (在*pnReceiptOrNot为1时有效) *       int  nTimeOut 超时时间(秒) * 返回值:API_OK 成功 *         API_NOCELL 没有数据包 *         其它 失败  */    nRet = nHGetDeliver(                         &nReceiptOrNot,                         &unSequenceId,                        &rCmppDeliver,                        &rReceiptBody,                        10                 );                  if( nRet != API_OK && nRet != API_NOCELL )    {        printf( "nRet = %d\n", nRet );        printf( "nHGetDeliver Error: %s\n", sGetErrorDetail() );        return -1;    }    else    {        printf( "Success nHGetDeliver\n"  );    }    /* *描述:(1)释放API资源        (2)关闭同MTBS的连接  注意:系统退出时必须调用nHExitInterface,释放线程资源 *输入:无 *输出:无 *返回值:API_OK 成功 *        其它 失败 */    nRet = nHExitInterface( );    if( nRet != API_OK )    {        printf( "Error: %s\n", sGetErrorDetail() );        return -1;    }    else    {        printf( "Success nHExitInterface\n"  );    }                 return 0;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -