⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgipapi.htm

📁 该接口库是用VC6.0开发的基于Windows平台上的SGIP1.2协议的实现
💻 HTM
📖 第 1 页 / 共 5 页
字号:
style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>//</span></p>

<p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:
yes">&nbsp;&nbsp; </span><span style='mso-tab-count:1'> </span>unsigned int<span
style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp; </span>nSeq;<span style='mso-tab-count:
3'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>int<span
style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>nErrorType;<span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span><span style='mso-tab-count:
2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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'>网关系统</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'>:登录网关失败</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'>:包发送失败且超过重发次数</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'>超时无应答</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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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>Submit</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"'>事件。如果在</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"'>函数中传入了</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>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>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><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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>unsigned
int<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp; </span>nSrcNum;</span></p>

<p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:
yes">&nbsp;&nbsp; </span><span style='mso-tab-count:1'> </span>unsigned int<span
style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp; </span>nDateTime;</span></p>

<p class=MsoNormal><span lang=EN-US><span style="mso-spacerun:
yes">&nbsp;&nbsp; </span><span style='mso-tab-count:1'> </span>unsigned int<span
style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp; </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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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'>网关返回的结果代码,不为零的话表示错误,</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'>可以通过调用</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'>函数返回对</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"'>参数说明:</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"'>消息结构,字段定义与</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"'>本接口库经过高度封装,使用简单,然而功能强大,只需要三个函数</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-&gt;Submit-&gt;Release</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>),就可以自动发送</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"'>消息。但由于接口库对消息包的处理采用事件触发的方式,所以需要你自己定义相应的消息处理函数对事件进行处理,函数指针在调用</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"'>函数时传递给系统,不需要处理的事件,函数指针传入</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"'>应答消息。</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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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 style='background:#E6E6E6'><b><span lang=EN-US
style='color:navy'>void PDeliver(DeliverStr<span style="mso-spacerun:
yes">&nbsp; </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">&nbsp; </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'>注:输入参数是消息返回的数据,具体字段参见结构体的定义。</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'>同时,因为这些消息处理函数是线程安全的,因此在访问全局变量时需要加锁。</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"'>函数中启动系统,并尝试发送</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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>CSgip
sgip;<o:p></o:p></span></b></p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -