📄 sgip_api_test.cpp
字号:
// SGIP_API_TEST.cpp : Defines the entry point for the console application.
/**
* 说明:中国联通SGIP1.2接口库示例程序
* 作者:PrinceToad
* Email:princetoad@tom.com
* Http://gmm.nease.net
* 版本:1.0 2003/09/09
*/
#include "stdafx.h"
#include "..\\sgip.h"
#pragma comment(lib, "..\\sgip.lib")
void sp_com_set_submit(sgipg_submit *ss, char *msisdn, void *sms, int sms_len)
{
strncpy(ss->sSpNumber, "2100", 4);
strcpy(ss->sChargeNumber, msisdn);
ss->cUserCount = 1;
strcpy(ss->sUserNumber, msisdn);
strncpy(ss->sCorpId, "3010012345", 10);
strncpy(ss->sServiceType, "9999", 4);
ss->cFeeType = 1;
ss->cMorelatetoMTFlag = 2;
memcpy(ss->sMsgContent, sms, sms_len);
ss->nMsgLen = ntohl(sms_len);
return;
}
void PDeliver(DeliverStr deliver);
void PReport(ReportStr report);
void PResponse(MTRespStr response);
void PMTError(MTErrorStr mterror);
/**
* 处理Deliver消息的函数
*/
void PDeliver(DeliverStr deliver) {
printf("Deliver.\n");
printf("SeqId = %d\n", deliver.nSeq );
printf("MsgLen = %d\n", deliver.nMsgLen );
printf("MsgContent = %s\n", deliver.sMsgContent);
return;
}
/**
* 处理Report消息的函数
*/
void PReport(ReportStr report){
printf("Report.\n");
return;
}
/**
* 处理SubmitResponse消息的函数
*/
void PResponse(MTRespStr response){
printf("MTResponse.\n");
return;
}
/**
* 处理MT失败的函数
*/
void PMTError(MTErrorStr mterror){
printf("MTError.Errcode = %d\n", mterror.nErrorType);
return;
}
int main(int argc, char* argv[])
{
//定义一个Csgip对象
CSgip sgip;
//定义一个Submit数据包
sgipg_submit ss;
ZeroMemory(&ss, sizeof(sgipg_submit));
/*启动系统,本地绑定地址默认,本地监听端口8802,远程网关地址"127.0.0.1",网关端口号8801,登录用户名口令"test",连接类型1,源节点号"3010012345",处理Deliver消息的函数指针Pdeliver,处理Report消息的函数指针Preport,处理MTResponse消息的函数指针Preponse,处理MTError消息的函数指针PMTError.*/
if (0 != sgip.Start("", 8802, "127.0.0.1", 8801, "test", "test", 1, "3010012345", &PDeliver, &PReport, &PResponse, &PMTError) ) {
MessageBox(NULL, "初始化失败.", "提示", MB_ICONERROR);
goto finished;
}
// 用于构造submit消息包的函数
sp_com_set_submit(&ss, "8613012345678", "test sms", 8);
//向网关提交submit消息包
int ix;
for (ix=0; ix<100; ix++) {
sgip.Submit(ss);
}
//主程序暂停,系统自动在后台运行,进行短消息的收发处理操作。
system("pause");
finished:
//退出系统前进行系统清理工作
sgip.Release();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -