惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

AI
AI
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 【当耐特】
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志
D
Docker
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Register - Security
The Register - Security
J
Java Code Geeks
S
SegmentFault 最新的问题
月光博客
月光博客
G
Google Developers Blog
美团技术团队
Last Week in AI
Last Week in AI
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
T
The Blog of Author Tim Ferriss
腾讯CDC
Recent Announcements
Recent Announcements
Recorded Future
Recorded Future
The Cloudflare Blog
有赞技术团队
有赞技术团队
博客园_首页
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
B
Blog
I
InfoQ
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
D
DataBreaches.Net
F
Full Disclosure
M
MIT News - Artificial intelligence
博客园 - 司徒正美
H
Help Net Security

博客园 - 清风徐来,水波不兴

健康同步专家 隐私政策 健康同步专家介绍 IOS动画实现(3)UIView封装的动画 IOS动画实现(2)ImageView自带动画 IOS动画实现(1)几种实现方式 学习CEGUI亟待解决问题二:消息事件传递机制问题 学习CEGUI亟待解决问题一:文本控件的格式问题 第一讲 ERP初阶(四):MRP基本构成 ERP初阶(三):MRP基本原理 ERP初阶(二):ERP概念与历程 ERP初阶(一):走近ERP 协议开发 中移动CMPP2.0协议API(二) 协议开发 中移动CMPP2.0协议API(三) 协议开发 中移动CMPP2.0协议API(一) 短信网关简介 SP 短信开发-PROVISION接口实现-反向取消实例代码 SP 短信开发-PROVISION接口实现-正向订购实例代码 SP 短信开发-PROVISION接口实现1
协议开发 中移动CMPP2.0协议API(四)
清风徐来,水波不兴 · 2007-01-21 · via 博客园 - 清风徐来,水波不兴

 

协议开发 中移动CMPP2.0协议API(四)

云网(jimzj@21cn.om)

接上篇:

八、链路检测

        根据CMPP协议当链路检测包发出超过时间T后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接,并根据需要重新建立链接(T=60秒,N=3)。但也可以加快链路检测的速度;这个并不影响API的正常运行:

        在线程中添加一个检测的事件,当检测到要发送链路检测时,触发链路检测线程:

               //要链路检测测试( 链路是每30秒发送一次数据 )

        if( _pscoket->_needacttest > 0 || _pscoket->_lastacttime <= ( time( NULL ) - 30 ))

        {

            _pscoket->_lastacttime = time( NULL ) + 1 ;

            SetEvent( _pscoket->_hevnt_acti ) ;

        }

               //链路检测线程部分代码:

if( WaitForSingleObject( _pscoket->_hevnt_acti, _pscoket->_dwmsec ) == WAIT_OBJECT_0 )

        {

            try

            {

                err = _pscoket->_ActiveTest() ;

            }

            catch( ... )

            {

}

//根据发送链路检测结果来作进一步动作

if( err != 0 )

{

//重发可断开链接,重新初始SOCKET接口等

………….

           }

致此,我基本上已把整个CMPP协议的开发过程写完,中间还附带了部分代码,希望对大家有所帮助,如果有什么不明的也可以直接写邮件到我的邮箱           jimzj@21cn.com,我将为你解答一些CMPP开发中的问题或者是计费拔测碰到的字段设置的问题(可以是移动梦网,联通在线或电信巨龙)。

九、短信二次开发

另外对于没有申请到移动或联通短信接口的用户,可以通过提供的一套

API接口,可以快速的通过此API接口发送短信息:开发包包括以下内容:

50、文件说明

目录名

子目录名

文件名

功能说明

BGAPI

Exam_BC

BCB例程

Exam_VC

VC例程

FuncDef.cpp

动态库调用cpp文件

FuncDef.h

动态库调用h文件

BGAPI.Dll

动态库

短信API客户端开发使用说明.doc

说明文档

大家如果要下载这个开发包,可以到www.ebase168.com上的短信快车主页面中的二次开发就可以下载,测试。所附带的两个例程中已有登录用户的企业名称和密码,通过这个API用户还可以自已做一个企业服务器,再下带10万个客户端,这样去开发自己的客户群。

开发所要的几个接口的定义:

51初始化API函数

函数名:_IFInitInterface()

功能:完成初始化的工作;

1)、系统资源的初始化:系统资源的创建和设置;定时资源的设置;通信消息机制的设置;内存管理的初始化设置;

2)、通信参数初始化:包括服务器端IP地址;客户端器端IP地址;通信端口号;

3)、尝试连接;

返回: 0 成功

       1 参数 fCltDeliver 不能为空

       2 参数 fCltSmsStatus 不能为空

       3 初始化异常

       99 系统错误

说明:

参数中的所要的回调函数用于在接收到中心服务器下发的短信或短信状态是调用,用户应在接收到后,把信息保存后尽快返回一个0表示成功接收到短信或状态,不要在回调函数中直接处理信息或状态,以免影响接收的速度;回调函数的定义请参见FuncDef.h中的定义;

52登录注册函数

函数名:_Login()

功能:完成向中心服务器注册的工作;

1)、检测用户参数是否正确;

2)、向中心服务器发出一个注册指令;

返回: 0 登录已提交

       1 未初始化

       2 企业代码 <= 0

3 用户名称 <= 0

53短信提交

函数名:_Submit()

功能:向中心服务器提交一条短信息;

1)、检测用户提交的参数是否正确;

2)、向中心服务器发出短信提交指令;

说明:

返回: 0 提交成功

       1 未初始化

       2 未注册

       3 注册接收地址有误

       4 原始编码 <= 0

       5 源地址含有非法字符(只能空或数字)

       6 源地址长度 > 5

       7 目标地址含有非法字符(只能数字)

       8 目标地址 < 11

       9 编码 < 0

       10 数据长度 <= 0

       11 中文 > 65个字符 英文 > 130个字符

       12 流量限制 <= 100/

 13发送失败

57接收短信息回调函数

函数名:TProcGetDeliver()

功能:用来接收中心服务器下发的短信;

1)、接收短信息;

返回: 0 客户端成功接收

说明:

       回调函数用于在接收到中心服务器下发的短信,用户应在接收到后,把信息保存后尽快返回一个0表示成功接收到短信,不要在回调函数中直接处理信息,以免影响接收的速度;回调函数的定义请参见FuncDef.h中的定义;

58接收短信状态回调函数

函数名:TProcGetSmsStatus()

功能:用来接收中心服务器下发的状态;

1)、接收注册回应;

2)、接收通讯测试状态

3)、接收提交短信返回状态

4)、接收短信回应状态

返回: 0 客户端成功接收

说明:

       回调函数用于在接收到中心服务器下发的状态,用户应在接收到后,把信息保存后尽快返回一个0表示成功接收到状态,不要在回调函数中直接处理信息,以免影响接收的速度;回调函数的定义请参见FuncDef.h中的定义;

云网(于广州)

jimzj@21cn.com