?? sgipapi.htm
字號:
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>nSeq;<span style='mso-tab-count:
3'> </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>int<span
style='mso-tab-count:2'> </span>nErrorType;<span
style="mso-spacerun: yes"> </span><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"'>錯誤類型</span></p>
<p class=MsoNormal><span lang=EN-US>}MTErrorStr</span></p>
<p class=MsoNormal><span lang=EN-US>nErrorType</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
style='color:blue'>1</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>:因為連接不上</span><span
lang=EN-US style='color:blue'>SMG</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>網(wǎng)關(guān)系統(tǒng)</span><span
lang=EN-US style='color:blue'> 2</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>:登錄網(wǎng)關(guān)失敗</span><span
lang=EN-US style='color:blue'> 3</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>:包發(fā)送失敗且超過重發(fā)次數(shù)</span><span
lang=EN-US style='color:blue'> 4.</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>超時無應(yīng)答</span><span
lang=EN-US style='color:blue'> 5.</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>消息長度為零。</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"'>發(fā)送成功并且返回</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"'>應(yīng)答消息時,將觸發(fā)</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"'>事件。如果在</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>MTResponse</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>MTResponse</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>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"'>應(yīng)答消息。</span></p>
<p class=MsoNormal><span lang=EN-US>typedef struct mtrespstr</span></p>
<p class=MsoNormal><span lang=EN-US>{</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>unsigned
int<span style='mso-tab-count:1'> </span>nSrcNum;</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></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>nSeq;</span></p>
<p class=MsoNormal style='text-indent:21.0pt'><span lang=EN-US>unsigned char<span
style='mso-tab-count:1'> </span>cResult;<span style='mso-tab-count:2'> </span><span
style='color:blue'>//</span></span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>網(wǎng)關(guān)返回的結(jié)果代碼,不為零的話表示錯誤,</span><span
lang=EN-US style='color:blue'>//</span><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:blue'>可以通過調(diào)用</span><span
lang=EN-US style='color:blue'>GetErrMsg</span><span style='font-family:宋體;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
color:blue'>函數(shù)返回對</span><span lang=EN-US style='color:blue'>SGIP</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman";color:blue'>錯誤信息的描述。</span><span lang=EN-US style='color:
blue'><o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>}MTRespStr;</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 style='text-indent:21.0pt'><span lang=EN-US>ss</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"'>消息結(jié)構(gòu),字段定義與</span><span lang=EN-US>SGIP 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><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='text-indent:21.0pt'><span style='font-family:宋體;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>無</span></p>
<h2><span lang=EN-US>4</span><span style='font-family:黑體;mso-ascii-font-family:
Arial'>.使用說明</span></h2>
<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"'>本接口庫經(jīng)過高度封裝,使用簡單,然而功能強大,只需要三個函數(shù)</span></p>
<p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>(</span><span lang=EN-US>Start->Submit->Release</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>),就可以自動發(fā)送</span><span lang=EN-US>MT</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息,同時接收</span><span lang=EN-US>MO</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>消息。但由于接口庫對消息包的處理采用事件觸發(fā)的方式,所以需要你自己定義相應(yīng)的消息處理函數(shù)對事件進行處理,函數(shù)指針在調(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ù)指針傳入</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>1.</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>收到</span><span lang=EN-US>MO</span><span style='font-family:
宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>消息包。</span><span
lang=EN-US>2.</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"'>消息包。</span><span lang=EN-US>3. </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"'>應(yīng)答消息。</span><span lang=EN-US>4. 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><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"'>消息處理函數(shù)大致格式如下:</span></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>void PDeliver(DeliverStr<span style="mso-spacerun:
yes"> </span>deliver);<o:p></o:p></span></b></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>void PReport(ReportStr report);<o:p></o:p></span></b></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>void PResponse(MTRespStr<span style="mso-spacerun:
yes"> </span>response);<o:p></o:p></span></b></p>
<p class=MsoNormal><b><span lang=EN-US style='color:navy'>void
PMTError(MTErrorStr mterror);<o:p></o:p></span></b></p>
<p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";color:black'>注:輸入?yún)?shù)是消息返回的數(shù)據(jù),具體字段參見結(jié)構(gòu)體的定義。</span><span
lang=EN-US style='color:blue'><o:p></o:p></span></p>
<p class=MsoNormal><b><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman";color:red'>同時,因為這些消息處理函數(shù)是線程安全的,因此在訪問全局變量時需要加鎖。</span><span
lang=EN-US style='color:red'><o:p></o:p></span></b></p>
<h2><span lang=EN-US>5</span><span style='font-family:黑體;mso-ascii-font-family:
Arial'>.示例工程</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"'>下面以一個</span><span
lang=EN-US>Win32</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><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>平臺:</span><span lang=EN-US>VC6.0+Win2k)</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:18.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo3;
tab-stops:list 18.0pt'><![if !supportLists]><span lang=EN-US>1.</span><![endif]><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>新建一個</span><span lang=EN-US>Win32 Console Application</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>工程,命名為</span><span lang=EN-US>”SGIP_API_TEST”,</span><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>,然后選擇</span><span lang=EN-US>”A Simple Application”</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:18.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo3;
tab-stops:list 18.0pt'><![if !supportLists]><span lang=EN-US>2.</span><![endif]><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>將接口庫文件</span><span lang=EN-US>sgip.h,sgip.lib,sgip.dll</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:18.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo3;
tab-stops:list 18.0pt'><![if !supportLists]><span lang=EN-US>3.</span><![endif]><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>在</span><span lang=EN-US>SGIP_API_TEST.cpp</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='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>#include “sgip.h”<o:p></o:p></span></b></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>#pragma comment(lib, “sgip”)<o:p></o:p></span></b></p>
<p class=MsoNormal style='margin-left:18.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo3;
tab-stops:list 18.0pt'><![if !supportLists]><span lang=EN-US>4.</span><![endif]><span
style='font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>在</span><span lang=EN-US>main</span><span style='font-family:
宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>函數(shù)中啟動系統(tǒng),并嘗試發(fā)送</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='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>int main(int argc, char* argv[])<o:p></o:p></span></b></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>{<o:p></o:p></span></b></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>//</span></b><b><span style='font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman";color:navy'>定義一個</span><span
lang=EN-US style='color:navy'>Csgip</span></b><b><span style='font-family:宋體;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";
color:navy'>對象</span><span lang=EN-US style='color:navy'><o:p></o:p></span></b></p>
<p class=MsoNormal style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'><span style='mso-tab-count:1'> </span>CSgip
sgip;<o:p></o:p></span></b></p>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -