connection_8h-source.html

来自「仿真人工智能是指用人工的方法和技术」· HTML 代码 · 共 86 行

HTML
86
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Connection.h Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body bgcolor="#ffffff"><!-- Generated by Doxygen 1.2.12 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>Connection.h</h1><a href="Connection_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>00002 <font class="comment">Copyright (c) 2000,2001, Jelle Kok, University of Amsterdam</font>00003 <font class="comment">All rights reserved.</font>00004 <font class="comment"></font>00005 <font class="comment">Redistribution and use in source and binary forms, with or without </font>00006 <font class="comment">modification, are permitted provided that the following conditions are met:</font>00007 <font class="comment"></font>00008 <font class="comment">1. Redistributions of source code must retain the above copyright notice, this </font>00009 <font class="comment">list of conditions and the following disclaimer. </font>00010 <font class="comment"></font>00011 <font class="comment">2. Redistributions in binary form must reproduce the above copyright notice, </font>00012 <font class="comment">this list of conditions and the following disclaimer in the documentation </font>00013 <font class="comment">and/or other materials provided with the distribution. </font>00014 <font class="comment"></font>00015 <font class="comment">3. Neither the name of the University of Amsterdam nor the names of its </font>00016 <font class="comment">contributors may be used to endorse or promote products derived from this </font>00017 <font class="comment">software without specific prior written permission. </font>00018 <font class="comment"></font>00019 <font class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" </font>00020 <font class="comment">AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE </font>00021 <font class="comment">IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE </font>00022 <font class="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE </font>00023 <font class="comment">FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL </font>00024 <font class="comment">DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR </font>00025 <font class="comment">SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER </font>00026 <font class="comment">CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, </font>00027 <font class="comment">OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </font>00028 <font class="comment">OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</font>00029 <font class="comment">*/</font>00043 <font class="preprocessor">#ifndef _CONNECTION_</font>00044 <font class="preprocessor"></font><font class="preprocessor">#define _CONNECTION_</font>00045 <font class="preprocessor"></font>00046 <font class="preprocessor">#include &lt;stdio.h&gt;</font>     <font class="comment">// printf, FILE</font>00047 <font class="preprocessor">#include &lt;ostream.h&gt;</font>   <font class="comment">// ostream</font>00048 <font class="preprocessor">#include &lt;netdb.h&gt;</font>     <font class="comment">// sockaddr_in</font>00049 <font class="preprocessor">#include &lt;arpa/inet.h&gt;</font> <font class="comment">// sockaddr_in</font>00050 <a name="l00052"></a><a class="code" href="struct__socket.html">00052</a> <font class="keyword">typedef</font> <font class="keyword">struct </font><a class="code" href="struct__socket.html">_socket</a>{<a name="l00053"></a><a class="code" href="struct__socket.html#m0">00053</a>     <font class="keywordtype">int</font>    <a class="code" href="struct__socket.html#m0">socketfd</a>  ;                <a name="l00054"></a><a class="code" href="struct__socket.html#m1">00054</a>     <font class="keyword">struct </font>sockaddr_in  <a class="code" href="struct__socket.html#m1">serv_addr</a> ;   00055 } <a class="code" href="struct__socket.html">Socket</a> ;00056 00057 <font class="comment">/********************** CONNECTION ********************************************/</font>00058 <a name="l00064"></a><a class="code" href="classConnection.html">00064</a> <font class="keyword">class </font><a class="code" href="classConnection.html">Connection</a> {00065 <a name="l00066"></a><a class="code" href="classConnection.html#o0">00066</a>   <a class="code" href="struct__socket.html">Socket</a>         <a class="code" href="classConnection.html#o0">m_sock</a>;        <a name="l00067"></a><a class="code" href="classConnection.html#o1">00067</a>   <font class="keywordtype">int</font>            <a class="code" href="classConnection.html#o1">m_iMaxMsgSize</a>; 00068 <font class="keyword">public</font>:00069 00070   <font class="comment">// constructors</font>00071   <a class="code" href="classConnection.html#a0">Connection</a>            (                                               );00072   <a class="code" href="classConnection.html#a0">Connection</a>            ( <font class="keyword">const</font> <font class="keywordtype">char</font> *hostname, <font class="keywordtype">int</font>  port,   <font class="keywordtype">int</font> iSize  );00073   <a class="code" href="classConnection.html#a2">~Connection</a>           (                                               );00074 00075   <font class="comment">// methods that deal with the connection itself</font>00076   <font class="keywordtype">bool</font> <a class="code" href="classConnection.html#a3">connect</a>          ( <font class="keyword">const</font> <font class="keywordtype">char</font> *host,     <font class="keywordtype">int</font>  port               );00077   <font class="keywordtype">void</font> <a class="code" href="classConnection.html#a4">disconnect</a>       ( <font class="keywordtype">void</font>                                          );00078   <font class="keywordtype">bool</font> <a class="code" href="classConnection.html#a5">isConnected</a>      ( <font class="keywordtype">void</font>                                          ) <font class="keyword">const</font>;00079 00080   <font class="comment">// methods that deal with the communication over the connection</font>00081   <font class="keywordtype">int</font>  <a class="code" href="classConnection.html#a6">message_loop</a>     ( FILE       *in,       FILE *out               );00082   <font class="keywordtype">int</font>  <a class="code" href="classConnection.html#a7">receiveMessage</a>   ( <font class="keywordtype">char</font>       *msg,      <font class="keywordtype">int</font>  maxsize            );00083   <font class="keywordtype">bool</font> <a class="code" href="classConnection.html#a8">sendMessage</a>      ( <font class="keyword">const</font> <font class="keywordtype">char</font> *msg                               );00084 00085   <font class="keywordtype">void</font> <a class="code" href="classConnection.html#a9">show</a>             ( ostream    os                                 );00086 00087 };00088 00089 <font class="preprocessor">#endif</font></font></pre></div><hr><address><small>Generated on Thu Mar 7 00:37:42 2002 for UvA Trilearn 2001 by<a href="http://www.doxygen.org/index.html"><img src="doxygen.gif" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.12 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, &copy;&nbsp;1997-2001</small></address></body></html>

⌨️ 快捷键说明

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