?? sgipapi.htm
字號(hào):
tab-stops:list 21.0pt'><![if !supportLists]><span lang=EN-US>1)<span
style='font:7.0pt "Times New Roman"'>
</span></span><![endif]><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>嚴(yán)格按照</span><span lang=EN-US>SGIP1.2</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>協(xié)議實(shí)現(xiàn),支持</span><span lang=EN-US>Bind, BindResp,Submit,
SubmitResp, Deliver, DeliverResp, Report, ReportResp, Unbind, UnbindResp</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息。</span></p>
<p class=MsoNormal style='margin-left:21.0pt;text-indent:-21.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 21.0pt'><![if !supportLists]><span lang=EN-US>2)<span
style='font:7.0pt "Times New Roman"'>
</span></span><![endif]><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>采用多線程并發(fā)處理的方式獲取強(qiáng)大的性能,針對(duì)</span><span
lang=EN-US>SGIP</span><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>協(xié)議的特點(diǎn),內(nèi)建線程池進(jìn)行消息的收發(fā)及處理操作,充分發(fā)揮系統(tǒng)和網(wǎng)絡(luò)性能,再大的業(yè)務(wù)量也能夠得到及時(shí)處理,丟包率小于</span><span
lang=EN-US>0.01/%</span><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>。</span></p>
<p class=MsoNormal style='margin-left:21.0pt;text-indent:-21.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 21.0pt'><![if !supportLists]><span lang=EN-US>3)<span
style='font:7.0pt "Times New Roman"'>
</span></span><![endif]><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>發(fā)送消息采用短連接的方式;接收消息采用半長連接的方式,可以設(shè)置超時(shí)時(shí)間,在沒有消息的情況下,主動(dòng)斷開網(wǎng)關(guān)連接。</span></p>
<p class=MsoNormal style='margin-left:21.0pt;text-indent:-21.0pt;mso-list:l1 level1 lfo2;
tab-stops:list 21.0pt'><![if !supportLists]><span lang=EN-US>4)<span
style='font:7.0pt "Times New Roman"'>
</span></span><![endif]><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>接口庫經(jīng)過高度封裝,模塊化強(qiáng),使用簡(jiǎn)單,屏蔽了網(wǎng)關(guān)通信,消息收發(fā)和處理的復(fù)雜性操作,</span><span
lang=EN-US>SP</span><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>用戶只需要關(guān)注具體的業(yè)務(wù)處理過程,大大簡(jiǎn)化了短消息開發(fā)的難度!</span></p>
<h2><span lang=EN-US>3.</span><span style='font-family:黑體;mso-ascii-font-family:
Arial'>接口函數(shù)</span></h2>
<p class=MsoNormal style='text-indent:18.0pt'><span style='font-family:宋體;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>該接口庫以動(dòng)態(tài)庫的形式提供,包含以下三個(gè)文件:</span><b><span
lang=EN-US style='color:blue'>sgip.h, sgip.lib, SGIP.DLL.</span></b><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>在動(dòng)態(tài)庫中導(dǎo)出了</span><span lang=EN-US>CSgip</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>類,包含以下接口函數(shù):</span></p>
<h3><span lang=EN-US>2.1 Start</span></h3>
<p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;mso-bidi-font-size:
12.0pt'>int Start(char* sLocalIP, int nLocalPort, char* sPeerIP, int nPeerPort,
char* sLoginName, char* sLoginPwd, int nConnType, char* sSrcNum, void
(*PDeliver)(DeliverStr<span style="mso-spacerun: yes"> </span>deliver),
void (*PReport)(ReportStr report), void (*PResponse)(MTRespStr<span
style="mso-spacerun: yes"> </span>response), void (*PMTError)(MTErrorStr
mterror))<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>用于啟動(dòng)消息收發(fā)和處理線程池,連接監(jiān)聽線程,并且用提供的用戶名和口令嘗試登錄網(wǎng)關(guān)。線程池的起始工作<b><span
style='color:blue'>線程數(shù)量</span></b></span><b><span lang=EN-US style='color:blue'>
= CPU</span></b><b><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";color:blue'>個(gè)數(shù)</span><span lang=EN-US
style='color:blue'>*2 + 2</span></b><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,線程數(shù)會(huì)隨著業(yè)務(wù)量的大小相應(yīng)地發(fā)生變化,在業(yè)務(wù)繁忙時(shí),線程池會(huì)自動(dòng)增加工作線程數(shù)量;而在業(yè)務(wù)量較小時(shí),又能夠自動(dòng)釋放線程,節(jié)省系統(tǒng)開銷,達(dá)到自動(dòng)調(diào)節(jié)的目的。調(diào)用</span><span
lang=EN-US>Start</span><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>函數(shù)后,在退出系統(tǒng)時(shí)需要相應(yīng)地調(diào)用</span><span
lang=EN-US>Release</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函數(shù)進(jìn)行系統(tǒng)清理工作,釋放系統(tǒng)資源,否則可能會(huì)造成資源泄漏!</span></p>
<p class=MsoNormal><b><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>參數(shù)說明:</span><span lang=EN-US><o:p></o:p></span></b></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>sLocalIP</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:2'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>本地監(jiān)聽地址。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>nLocalPort</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>本地監(jiān)聽端口。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>sPeerIP</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:2'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>網(wǎng)關(guān)</span><span lang=EN-US>IP</span><span style='font-family:
宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>地址。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>nPeerPort</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:2'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>網(wǎng)關(guān)監(jiān)聽端口。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>sLoginName</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>登錄用戶名。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>sLoginPwd</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>登錄口令。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>nConnType</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>登錄類型。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>sSrcNum</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:</span><span lang=EN-US><span style='mso-tab-count:2'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>源節(jié)點(diǎn)編號(hào)。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>void
(*PDeliver)(DeliverStr<span style="mso-spacerun: yes"> </span>deliver)</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:處理</span><span lang=EN-US>Deliver</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息的函數(shù)指針。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>void
(*PReport)(ReportStr report)</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:</span><span
lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>處理</span><span lang=EN-US>Report</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息的函數(shù)指針。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>void
(*PResponse)(MTRespStr<span style="mso-spacerun: yes"> </span>response)</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>:處理</span><span lang=EN-US>MTResponse</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息的函數(shù)指針。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>void
(*PMTError)(MTErrorStr mterror)</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>:處理</span><span
lang=EN-US>Submit</span><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>失敗的函數(shù)。</span></p>
<p class=MsoNormal><b><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>返回值:</span><span lang=EN-US><o:p></o:p></span></b></p>
<p class=MsoNormal style='margin-left:42.0pt;text-indent:-21.0pt;mso-list:l1 level2 lfo2;
tab-stops:list 42.0pt'><![if !supportLists]><span lang=EN-US>0<span
style='font:7.0pt "Times New Roman"'>
</span></span><![endif]><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>調(diào)用成功</span></p>
<p class=MsoNormal style='margin-left:42.0pt;text-indent:-21.0pt;mso-list:l1 level2 lfo2;
tab-stops:list 42.0pt'><![if !supportLists]><span lang=EN-US>1<span
style='font:7.0pt "Times New Roman"'>
</span></span><![endif]><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>已經(jīng)調(diào)用過該函數(shù)</span></p>
<p class=MsoNormal style='margin-left:21.0pt'><span lang=EN-US>-1<span
style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>調(diào)用失敗</span></p>
<h3 style='margin-left:24.0pt;text-indent:-24.0pt;mso-list:l0 level2 lfo1;
tab-stops:list 24.0pt'><![if !supportLists]><span lang=EN-US>1.2<span
style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span
lang=EN-US>Release</span></h3>
<p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;mso-bidi-font-size:
12.0pt'>void Release()<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span></span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>調(diào)用過</span><span lang=EN-US>Start</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>函數(shù)以后,相應(yīng)地需要調(diào)用</span><span lang=EN-US>Release</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>函數(shù)釋放系統(tǒng)資源。</span></p>
<h3 style='margin-left:24.0pt;text-indent:-24.0pt;mso-list:l0 level2 lfo1;
tab-stops:list 24.0pt'><![if !supportLists]><span lang=EN-US>1.3<span
style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span
lang=EN-US>SendMT</span></h3>
<p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;mso-bidi-font-size:
12.0pt'>void<span style='mso-tab-count:1'> </span>Submit(sgipg_submit ss)<o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:21.0pt'><span style='font-family:宋體;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>提交</span><span
lang=EN-US>Submit</span><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>消息,調(diào)用線程池工作線程進(jìn)行</span><span lang=EN-US>Submit</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息發(fā)送工作。發(fā)送失敗的情況下,如果在</span><span lang=EN-US>Start</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>函數(shù)中傳入</span><span lang=EN-US>Submit</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>失敗處理函數(shù)指針的話,,將調(diào)用</span><span lang=EN-US>MTError</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>函數(shù)進(jìn)行錯(cuò)誤處理;如果傳入</span><span lang=EN-US>NULL</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>的話,將不處理</span><span lang=EN-US>Submit</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>失敗消息。</span></p>
<p class=MsoNormal style='text-indent:21.0pt'><span lang=EN-US>MTError</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>結(jié)構(gòu)說明:</span></p>
<p class=MsoNormal><span lang=EN-US>typedef struct mterrorstr</span></p>
<p class=MsoNormal><span lang=EN-US>{</span></p>
<p class=MsoNormal style='text-indent:21.0pt'><span lang=EN-US>unsigned int<span
style='mso-tab-count:1'> </span>nSrcNum;<span
style='mso-tab-count:2'> </span>//</span></p>
<p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:
yes"> </span><span style='mso-tab-count:1'> </span>unsigned int<span
style='mso-tab-count:1'> </span>nDateTime;<span
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -