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

📄 class_c_sgip.html

📁 用c++编写的的中国联通Sgip协议
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>sgipapi: CSgip类参考</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.5.1-p1 --><div class="tabs">  <ul>    <li><a href="main.html"><span>首页</span></a></li>    <li><a href="namespaces.html"><span>Namespaces</span></a></li>    <li id="current"><a href="annotated.html"><span>数据结构</span></a></li>    <li><a href="files.html"><span>文件</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="annotated.html"><span>数据结构</span></a></li>    <li><a href="hierarchy.html"><span>类继承关系</span></a></li>    <li><a href="functions.html"><span>数据字段</span></a></li>  </ul></div><h1>CSgip类参考</h1><!-- doxytag: class="CSgip" --><code>#include &lt;<a class="el" href="sgipapi_8h-source.html">sgipapi.h</a>&gt;</code><p>CSgip合作图:<center><font size="2">[<a target="top" href="graph_legend.html">图例</a>]</font></center><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>公有成员</h2></td></tr><tr><td colspan="2"><div class="groupHeader">Main Functions</div></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#5e6f194e65ea9111c7b63476fcd199c1">Start</a> (char *sLocalIP, int nLocalPort, char *sPeerIP, int nPeerPort, char *sLoginName, char *sLoginPwd, int nConnType, char *sSrcNum, int nConnCount=3, char *sPeerName=NULL, char *sPeerPwd=NULL, unsigned nMaxSmgConn=16, unsigned nMinWorkThreadsCount=4, unsigned nMaxWorkThreadsCount=8)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#5b1a050ac283331ebb4e21b8ea0e72d8">Release</a> (BOOL forceRelease=FALSE)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#e6f75c1363619101d9b08d4c97fc7739">Submit</a> (<a class="el" href="structsgipg__submit.html">sgipg_submit</a> ss, unsigned &amp;nSeq, unsigned &amp;nDateTime)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#a47f6be2419f58287f9e80030b1dd1bf">AddUserNumber</a> (<a class="el" href="structsgipg__submit.html">sgipg_submit</a> *ss, const char *sUserNumber)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#67bffd65e50705231cd45a22dd462d49">GetSubmitSeqId</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#d0e228589d6e79898f4c4231f18eff3a">GetSmgConnInfo</a> (<a class="el" href="sgipapi_8h.html#6bb1a0f40aa99b1fb187bbe99d83cde5">cList</a> &amp;_connList)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#2e974c38429f33a38c7b3855b12a4e8c">GetSmgConnCount</a> ()</td></tr><tr><td colspan="2"><div class="groupHeader">消息处理虚函数</div></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#e236f10a811f3701a1021c1c4dc4cc11">OnDeliver</a> (<a class="el" href="structdeliverstr.html">DeliverStr</a> &amp;deliver)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#e3e3040d050469e9c27f937db45b3c03">OnReport</a> (<a class="el" href="structreportstr.html">ReportStr</a> &amp;report)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#ed068490757be58db438563d72160745">OnResponse</a> (<a class="el" href="structmtrespstr.html">MTRespStr</a> &amp;response)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#bfe3bfca8e85151422b7d3a8204933ba">OnMTError</a> (<a class="el" href="structmterrorstr.html">MTErrorStr</a> mterror)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#58a6b612fb3a92b112d562d56a5e5568">OnLogWrite</a> (const char *pchFmt,...)</td></tr><tr><td colspan="2"><div class="groupHeader">GetFunctions</div></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#794db715722fdeccad220815ad09c062">GetSubmitCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#ca9c8c88d7a296740f00b8d891680e2d">GetSubmitSucceedCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#1eef2703fbc31aba73327f69cbf3a0c3">GetSubmitFailedCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#2a25acb96ef5251a72bc1297839a1441">GetRespFailedCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#393c1a894b398ee2a84fbe1ad7f9c0c4">GetRespSucceedCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#3b2d0af208287e7f97d799c9f995a632">GetDeliverCount</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#e4f0942bc1fc479ebf5d126b0bf33b4a">GetStatusReportCount</a> () const</td></tr><tr><td colspan="2"><br><h2>保护成员</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#e91d6ed18a77defdf4cf5b58c89c485b">SubmitFunc</a> (<a class="el" href="structsgipg__submit.html">sgipg_submit</a> ss, unsigned int nSeq, unsigned int nDateTime)</td></tr><tr><td colspan="2"><div class="groupHeader">SetFunctions</div></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#1f6512d79bbb9fbc10a4b1a6737cf94c">AddSubmitCount</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#029b7e9116aaf1770c081d91ba1fd5f9">AddSubmitSucceedCount</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#beabe2a86eb5dde208acd25fa0a897d0">AddSubmitFailedCount</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#8e5a7c1f5be9fbf61a7d4f6d051a8455">AddRespFailedCount</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#006d40509603893275e8ed820af77d8d">AddRespSucceedCount</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#7821bdd8ff3bb35de779d726d371d7f5">AddDeliverCount</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#da6dad277b0f99be1357484860f57630">AddStatusReportCount</a> ()</td></tr><tr><td colspan="2"><br><h2>友元</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_sgip.html#d9498aa7affcd2ad08485f423d6bb7e2">CJobSgip</a></td></tr></table><hr><a name="_details"></a><h2>详细描述</h2>SGIP协议封装类 <p><hr><h2>构造及析构函数文档</h2><a class="anchor" name="87f654f956fc91e53b94808cbaa2a43b"></a><!-- doxytag: member="CSgip::CSgip" ref="87f654f956fc91e53b94808cbaa2a43b" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">CSgip::CSgip           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>构造函数,初始化WinSock,初始化变量值 </div></div><p><a class="anchor" name="43e06b219c527f84e222f016c1b4f3ec"></a><!-- doxytag: member="CSgip::~CSgip" ref="43e06b219c527f84e222f016c1b4f3ec" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">CSgip::~CSgip           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"><code> [virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>析构函数,释放WinSock </div></div><p><a class="anchor" name="87f654f956fc91e53b94808cbaa2a43b"></a><!-- doxytag: member="CSgip::CSgip" ref="87f654f956fc91e53b94808cbaa2a43b" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">CSgip::CSgip           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>构造函数,初始化WinSock,初始化变量值 </div></div><p><a class="anchor" name="43e06b219c527f84e222f016c1b4f3ec"></a><!-- doxytag: member="CSgip::~CSgip" ref="43e06b219c527f84e222f016c1b4f3ec" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">CSgip::~CSgip           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"><code> [virtual]</code></td>        </tr>      </table></div><div class="memdoc"><p>析构函数,释放WinSock </div></div><p><hr><h2>成员函数文档</h2><a class="anchor" name="5e6f194e65ea9111c7b63476fcd199c1"></a><!-- doxytag: member="CSgip::Start" ref="5e6f194e65ea9111c7b63476fcd199c1" args="(char *sLocalIP, int nLocalPort, char *sPeerIP, int nPeerPort, char *sLoginName, char *sLoginPwd, int nConnType, char *sSrcNum, int nConnCount=3, char *sPeerName=NULL, char *sPeerPwd=NULL, unsigned nMaxSmgConn=16, unsigned nMinWorkThreadsCount=4, unsigned nMaxWorkThreadsCount=8)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int CSgip::Start           </td>          <td>(</td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sLocalIP</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>nLocalPort</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sPeerIP</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>nPeerPort</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sLoginName</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sLoginPwd</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>nConnType</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sSrcNum</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>nConnCount</em> = <code>3</code>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sPeerName</em> = <code>NULL</code>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">char *&nbsp;</td>          <td class="paramname"> <em>sPeerPwd</em> = <code>NULL</code>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">unsigned&nbsp;</td>          <td class="paramname"> <em>nMaxSmgConn</em> = <code>16</code>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">unsigned&nbsp;</td>          <td class="paramname"> <em>nMinWorkThreadsCount</em> = <code>4</code>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">unsigned&nbsp;</td>          <td class="paramname"> <em>nMaxWorkThreadsCount</em> = <code>8</code></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>SGIPAPI启动主函数 在这个函数里面启动本地监听,连接网关,和启动线城池。 注意: 1.在调用Start函数启动后,如果想重新调用Start函数, 必须首先调用Release函数释放资源才能重新调用Start函数,否则会调用失败。 2.可以通过设定nLocalPort=-1,或nPeerPort=-1实现收发分离功能。<p><dl compact><dt><b>参数:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>sLocalIP</em>&nbsp;</td><td>SGIP本地监听地址 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nLocalPort</em>&nbsp;</td><td>SGIP的本地监听端口(注意:如果设为-1则不启动本地监听,即不接收网关的连接和消息,只启用发送功能) </td></tr>    <tr><td valign="top"></td><td valign="top"><em>sPeerIP</em>&nbsp;</td><td>联通网关地址 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nPeerPort</em>&nbsp;</td><td>联通网关端口(注意:如果设为-1,则不连接网关,即不执行发送功能,可以只接收MO消息) </td></tr>    <tr><td valign="top"></td><td valign="top"><em>sLoginName</em>&nbsp;</td><td>登录联通网关的用户名 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>sLoginPwd</em>&nbsp;</td><td>登录联通网关的口令 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nConnType</em>&nbsp;</td><td>登录网关的连接类型(按照协议规定,应该一直是1。&lt;1:SP向SMG建立的连接,用于发送命令&gt;) </td></tr>    <tr><td valign="top"></td><td valign="top"><em>sSrcNum</em>&nbsp;</td><td>源节点编号(SP的编号规则:3AAAAQQQQQ AAAA表示四位长途区号,QQQQQ表示5位企业代码。详见协议3.3) </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nConnCount</em>&nbsp;</td><td>同网关建立的发送连接数 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>sPeerName</em>&nbsp;</td><td>网关登录SP的用户名(如果用户名或者口令为空的话,则不对网关连接进行用户名口令鉴权) </td></tr>    <tr><td valign="top"></td><td valign="top"><em>sPeerPwd</em>&nbsp;</td><td>网关登录SP的口令 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nMaxSmgConn</em>&nbsp;</td><td>允许的网关到SP的最大连接数 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nMinWorkThreadsCount</em>&nbsp;</td><td>线程池的最小线程数(即初始线程数,建议为CPU个数*2 + 2) </td></tr>    <tr><td valign="top"></td><td valign="top"><em>nMaxWorkThreadsCount</em>&nbsp;</td><td>线程池的最大线程数(建议为CPU个数*2 + 6,线程池会根据忙碌状态在此范围内自动调整)</td></tr>  </table></dl><dl class="return" compact><dt><b>返回:</b></dt><dd>0:成功; -1:失败 </dd></dl></div></div><p><a class="anchor" name="5b1a050ac283331ebb4e21b8ea0e72d8"></a><!-- doxytag: member="CSgip::Release" ref="5b1a050ac283331ebb4e21b8ea0e72d8" args="(BOOL forceRelease=FALSE)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void CSgip::Release           </td>

⌨️ 快捷键说明

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