協議開發 中移動CMPP2 0協議API(四)

2021-04-21 07:02:02 字數 3072 閱讀 7226

接上篇:

八、鏈路檢測

根據

cmpp

協議當鏈路檢測包發出超過時間

t後未收到響應,應立即再傳送鏈路檢測包,再連續傳送

n-1次後仍未得到響應則斷開此連線,並根據需要重新建立鏈結(

t=60

秒,n=3

)。但也可以加快鏈路檢測的速度;這個並不影響

api的正常執行: //

要鏈路檢測測試

( 鏈路是每

30秒傳送一次資料

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

//鏈路檢測線程部分**:

if( waitforsingleobject( _pscoket->_hevnt_acti, _pscoket->_dwmsec ) == wait_object_0 )

catch( ... )

//根據傳送鏈路檢測結果來作進一步動作

if( err != 0 )

致此,我基本上已把整個

cmpp

協議的開發過程寫完,中間還附帶了部分**,希望對大家有所幫助,如果有什麼不明的也可以直接寫郵件到我的郵箱

[email protected]

,我將為你解答一些

cmpp

九、簡訊二次開發

另外對於沒有申請到移動或聯通簡訊介面的使用者,可以通過提供的一套

api介面,可以快速的通過此

api介面傳送簡訊息:開發包包括以下內容:

目錄名子目錄名

檔名功能說明

bgapi

exam_bc

bcb例程

exam_vc

vc例程

funcdef.cpp

動態庫呼叫

cpp檔案

funcdef.h

動態庫呼叫h檔案

bgapi.dll

動態庫簡訊

api客戶端開發使用說明

.doc

說明文件

www.ebase168.com

api,使用者還可以自已做乙個企業伺服器,再下帶

10萬個客戶端

,這樣去開發自己的客戶群。

開發所要的幾個介面的定義:

函式名:_ifinitinte***ce()

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

1)、系統資源的初始化:系統資源的建立和設定;定時資源的設定;通訊訊息機制的設定;記憶體管理的初始化設定;

2)、通訊引數初始化:包括伺服器端

ip位址;客戶端器端

ip位址;通訊埠號;

3)、嘗試連線;

返回:0

成功1

引數fcltdeliver

不能為空

2 引數

fcltsmsstatus

不能為空

3 初始化異常

99 系統錯誤

說明:

引數中的所要的**函式用於在接收到中心伺服器下發的簡訊或簡訊狀態是呼叫,使用者應在接收到後,把資訊儲存後盡快返回乙個

0表示成功接收到簡訊或狀態,不要在**函式中直接處理資訊或狀態,以免影響接收的速度;**函式的定義請參見

funcdef.h

中的定義;

函式名:_login()

功能:完成向中心伺服器註冊的工作;

1)、檢測使用者引數是否正確;

2)、向中心伺服器發出乙個註冊指令;

返回:0

登入已提交

1 未初始化

2 企業**

<= 0

3 使用者名稱

<= 0

函式名:_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傳送失敗

函式名:tprocgetdeliver()

功能:用來接收中心伺服器下發的簡訊;

1)、接收簡訊息;

返回:0

客戶端成功接收

說明:

**函式用於在接收到中心伺服器下發的簡訊,使用者應在接收到後,把資訊儲存後盡快返回乙個

0表示成功接收到簡訊,不要在**函式中直接處理資訊,以免影響接收的速度;**函式的定義請參見

funcdef.h

中的定義;

函式名:tprocgetsmsstatus()

功能:用來接收中心伺服器下發的狀態;

1)、接收註冊回應;

2)、接收通訊測試狀態

3)、接收提交簡訊返回狀態

4)、接收簡訊回應狀態

返回:0

客戶端成功接收

說明:

**函式用於在接收到中心伺服器下發的狀態,使用者應在接收到後,把資訊儲存後盡快返回乙個

0表示成功接收到狀態,不要在**函式中直接處理資訊,以免影響接收的速度;**函式的定義請參見

funcdef.h

中的定義;

輕鬆學習C 開發CMPP2 0協議閘道器 2

登入協議包定義 訊息體包括 欄位名 位元組數屬性 描述 source addr 6 octet string 源位址,此處為sp id,即sp的企業 authenticatorsource 16 octet string 用於鑑別源位址。其值通過單向md5 hash計算得出,表示如下 authent...

輕鬆學習C 開發CMPP2 0協議閘道器 3

登入應答協議包定義 欄位名 位元組數 屬性描述 status 1 unsigned integer 狀態 0 正確 1 訊息結構錯 3 認證錯 4 版本太高 5 其他錯誤 authenticatorismg 16 octet string ismg認證碼,用於鑑別ismg。其值通過單向md5 has...

移動開發 oFono開源電話協議棧

ofono是乙個開源免費的 協議棧軟體,它遵循3gpp27.007等通訊標準,通過at命令與2g 3g modem進行互動,以實現各種 功能 voicecall,gprs,sms,stk等等 在ofono的基礎上,很容易開發用qt,gtk,clutter等api編寫的使用者介面。ofono一般作為守...