📄 classpion_1_1_t_c_p_server.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>libpion: pion::TCPServer Class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.2 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul></div><div class="nav"><a class="el" href="namespacepion.html">pion</a>::<a class="el" href="classpion_1_1_t_c_p_server.html">TCPServer</a></div><h1>pion::TCPServer Class Reference</h1><!-- doxytag: class="pion::TCPServer" --><code>#include <<a class="el" href="_t_c_p_server_8hpp-source.html">TCPServer.hpp</a>></code><p>Inherited by <a class="el" href="class_hello_server.html">HelloServer</a>, and <a class="el" href="classpion_1_1_h_t_t_p_server.html">pion::HTTPServer</a>.<p><a href="classpion_1_1_t_c_p_server-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2><a class="el" href="classpion_1_1_t_c_p_server.html">TCPServer</a>: a multi-threaded, asynchronous TCP server <p><p>Definition at line <a class="el" href="_t_c_p_server_8hpp-source.html#l00032">32</a> of file <a class="el" href="_t_c_p_server_8hpp-source.html">TCPServer.hpp</a>.<table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="627ca308aeb8fa59d28c8adc87605e07"></a><!-- doxytag: member="pion::TCPServer::~TCPServer" ref="627ca308aeb8fa59d28c8adc87605e07" args="()" -->virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#627ca308aeb8fa59d28c8adc87605e07">~TCPServer</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">default destructor <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9720a022872dbe555c9e94294f20491e"></a><!-- doxytag: member="pion::TCPServer::start" ref="9720a022872dbe555c9e94294f20491e" args="(void)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#9720a022872dbe555c9e94294f20491e">start</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">starts listening for new connections <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b4f90dc95bbab0ce0827f73859dbf8e"></a><!-- doxytag: member="pion::TCPServer::stop" ref="4b4f90dc95bbab0ce0827f73859dbf8e" args="(void)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#4b4f90dc95bbab0ce0827f73859dbf8e">stop</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">stops listening for new connections <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41ffd99c9e0250f0bb16ef4070f0fa87"></a><!-- doxytag: member="pion::TCPServer::getSSLFlag" ref="41ffd99c9e0250f0bb16ef4070f0fa87" args="(void) const " -->bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#41ffd99c9e0250f0bb16ef4070f0fa87">getSSLFlag</a> (void) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns true if the server uses SSL to encrypt connections <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c782ea822bac8db0205d7ebdeee81513"></a><!-- doxytag: member="pion::TCPServer::setSSLFlag" ref="c782ea822bac8db0205d7ebdeee81513" args="(bool b=true)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#c782ea822bac8db0205d7ebdeee81513">setSSLFlag</a> (bool b=true)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">sets value of SSL flag (true if the server uses SSL to encrypt connections) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f09c4afb760226b0960c7443191b7ec3"></a><!-- doxytag: member="pion::TCPServer::getSSLContext" ref="f09c4afb760226b0960c7443191b7ec3" args="(void)" --><a class="el" href="classpion_1_1_t_c_p_connection.html#7847013e92aa594ac6a7ce9d8ceaf1c2">TCPConnection::SSLContext</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#f09c4afb760226b0960c7443191b7ec3">getSSLContext</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns the SSL context for configuration <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae2c1a58569dfd7342fcf6ccac0746a2"></a><!-- doxytag: member="pion::TCPServer::getPort" ref="ae2c1a58569dfd7342fcf6ccac0746a2" args="(void) const " -->unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#ae2c1a58569dfd7342fcf6ccac0746a2">getPort</a> (void) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns tcp port number server listens for connections on <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e9b33f6ec5dda7203c8e408614d26a53"></a><!-- doxytag: member="pion::TCPServer::setLogger" ref="e9b33f6ec5dda7203c8e408614d26a53" args="(PionLogger log_ptr)" -->void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#e9b33f6ec5dda7203c8e408614d26a53">setLogger</a> (<a class="el" href="namespacepion.html#917bc483e4f692504156efb93c11b322">PionLogger</a> log_ptr)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">sets the logger to be used <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2963ffc465158dddb64f9a3f921f9e3"></a><!-- doxytag: member="pion::TCPServer::getLogger" ref="c2963ffc465158dddb64f9a3f921f9e3" args="(void)" --><a class="el" href="namespacepion.html#917bc483e4f692504156efb93c11b322">PionLogger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#c2963ffc465158dddb64f9a3f921f9e3">getLogger</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns the logger currently in use <br></td></tr><tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#09cdecc884b9e098b605a07c151b99f6">TCPServer</a> (const unsigned int tcp_port)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#bdf3bb235cf282e635dcd620fe17f448">handleConnection</a> (<a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> &tcp_conn)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e666db574d7f2e36615b535cf292e636"></a><!-- doxytag: member="pion::TCPServer::beforeStarting" ref="e666db574d7f2e36615b535cf292e636" args="(void)" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#e666db574d7f2e36615b535cf292e636">beforeStarting</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">called before the TCP server starts listening for new connections <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="542e1c51e9d07a05c64a4adac13ba0d0"></a><!-- doxytag: member="pion::TCPServer::afterStopping" ref="542e1c51e9d07a05c64a4adac13ba0d0" args="(void)" -->virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#542e1c51e9d07a05c64a4adac13ba0d0">afterStopping</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">called after the TCP server has stopped listing for new connections <br></td></tr><tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="028f2f5c2af69741b003b438ce682029"></a><!-- doxytag: member="pion::TCPServer::m_logger" ref="028f2f5c2af69741b003b438ce682029" args="" --><a class="el" href="namespacepion.html#917bc483e4f692504156efb93c11b322">PionLogger</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classpion_1_1_t_c_p_server.html#028f2f5c2af69741b003b438ce682029">m_logger</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">primary logging interface used by this class <br></td></tr></table><hr><h2>Constructor & Destructor Documentation</h2><a class="anchor" name="09cdecc884b9e098b605a07c151b99f6"></a><!-- doxytag: member="pion::TCPServer::TCPServer" ref="09cdecc884b9e098b605a07c151b99f6" args="(const unsigned int tcp_port)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">pion::TCPServer::TCPServer </td> <td>(</td> <td class="paramtype">const unsigned int </td> <td class="paramname"> <em>tcp_port</em> </td> <td> ) </td> <td width="100%"><code> [explicit, protected]</code></td> </tr> </table></div><div class="memdoc"><p>protect constructor so that only derived objects may be created<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>tcp_port</em> </td><td>port number used to listen for new connections </td></tr> <tr><td valign="top"></td><td valign="top"><em>ssl_flag</em> </td><td>if true, the server will use SSL to encrypt connections </td></tr> </table></dl><p>Definition at line <a class="el" href="_t_c_p_server_8cpp-source.html#l00021">21</a> of file <a class="el" href="_t_c_p_server_8cpp-source.html">TCPServer.cpp</a>.</div></div><p><hr><h2>Member Function Documentation</h2><a class="anchor" name="bdf3bb235cf282e635dcd620fe17f448"></a><!-- doxytag: member="pion::TCPServer::handleConnection" ref="bdf3bb235cf282e635dcd620fe17f448" args="(TCPConnectionPtr &tcp_conn)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void pion::TCPServer::handleConnection </td> <td>(</td> <td class="paramtype"><a class="el" href="namespacepion.html#1858b89656b28c6498ad9efd6b7e9d41">TCPConnectionPtr</a> & </td> <td class="paramname"> <em>tcp_conn</em> </td> <td> ) </td> <td width="100%"><code> [inline, protected, virtual]</code></td> </tr> </table></div><div class="memdoc"><p>handles a new TCP connection; derived classes SHOULD override this since the default behavior does nothing<p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>tcp_conn</em> </td><td>the new TCP connection to handle </td></tr> </table></dl><p>Reimplemented in <a class="el" href="classpion_1_1_h_t_t_p_server.html#8d56ea8d41de7e5cfb3ce17addbd0a8b">pion::HTTPServer</a>, and <a class="el" href="class_hello_server.html#8c81bf75f204891b55b6a730d934e4e1">HelloServer</a>.<p>Definition at line <a class="el" href="_t_c_p_server_8hpp-source.html#l00081">81</a> of file <a class="el" href="_t_c_p_server_8hpp-source.html">TCPServer.hpp</a>.</div></div><p><hr>The documentation for this class was generated from the following files:<ul><li>/Users/mdickey/code/libpion-export/include/libpion/<a class="el" href="_t_c_p_server_8hpp-source.html">TCPServer.hpp</a><li>/Users/mdickey/code/libpion-export/src/<a class="el" href="_t_c_p_server_8cpp-source.html">TCPServer.cpp</a></ul><hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 19 13:29:23 2007 for libpion by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -