📄 classphttpserver.html
字号:
<!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>PHTTPServer class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </center><hr><h1>PHTTPServer Class Reference</h1><code>#include <<a class="el" href="http_8h-source.html">http.h</a>></code><p><p>Inheritance diagram for PHTTPServer:<p><center><img src="classPHTTPServer.png" usemap="#PHTTPServer_map" border="0" alt=""></center><map name="PHTTPServer_map"><area href="classPHTTP.html" alt="PHTTP" shape="rect" coords="0,224,109,248"><area href="classPInternetProtocol.html" alt="PInternetProtocol" shape="rect" coords="0,168,109,192"><area href="classPIndirectChannel.html" alt="PIndirectChannel" shape="rect" coords="0,112,109,136"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="0,56,109,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,109,24"></map><a href="classPHTTPServer-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a0">PHTTPServer</a> ()</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a1">PHTTPServer</a> (const <a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> &<a class="el" href="classPHTTPServer.html#n0">urlSpace</a>)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a2">GetServerName</a> () const</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> & </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a3">GetURLSpace</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a4">SetURLSpace</a> (const <a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> &space)</td></tr><tr><td> </td><td><font size=-1><em>Use a new URL name space for this HTTP socket.</em> <a href="#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a5">ProcessCommand</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a6">OnGET</a> (const <a class="el" href="classPURL.html">PURL</a> &url, const <a class="el" href="classPMIMEInfo.html">PMIMEInfo</a> &info, const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &conInfo)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a7">OnHEAD</a> (const <a class="el" href="classPURL.html">PURL</a> &url, const <a class="el" href="classPMIMEInfo.html">PMIMEInfo</a> &info, const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &conInfo)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a8">OnPOST</a> (const <a class="el" href="classPURL.html">PURL</a> &url, const <a class="el" href="classPMIMEInfo.html">PMIMEInfo</a> &info, const <a class="el" href="classPStringToString.html">PStringToString</a> &data, const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &conInfo)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a9">OnProxy</a> (const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &conInfo)</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a10">ReadEntityBody</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a11">OnUnknown</a> (const <a class="el" href="classPCaselessString.html">PCaselessString</a> &command, const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &<a class="el" href="classPHTTPServer.html#n1">connectInfo</a>)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a12">StartResponse</a> (<a class="el" href="classPHTTP.html#s43">StatusCode</a> code, <a class="el" href="classPMIMEInfo.html">PMIMEInfo</a> &headers, long bodySize)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a13">OnError</a> (<a class="el" href="classPHTTP.html#s43">StatusCode</a> code, const <a class="el" href="classPCaselessString.html">PCaselessString</a> &extra, const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &<a class="el" href="classPHTTPServer.html#n1">connectInfo</a>)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a14">SetDefaultMIMEInfo</a> (<a class="el" href="classPMIMEInfo.html">PMIMEInfo</a> &info, const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> &<a class="el" href="classPHTTPServer.html#n1">connectInfo</a>)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> & </td><td valign=bottom><a class="el" href="classPHTTPServer.html#a15">GetConnectionInfo</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPHTTPServer.html#b0">Construct</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#n0">urlSpace</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#n1">connectInfo</a></td></tr><tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="classPHTTPServer.html#n2">transactionCount</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPTimeInterval.html">PTimeInterval</a> </td><td valign=bottom><a class="el" href="classPHTTPServer.html#n3">nextTimeout</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A TCP/IP socket for the HyperText Transfer Protocol version 1.0.<p>When acting as a server, a descendant class would be created to override at least the HandleOpenMailbox()#, HandleSendMessage()# and HandleDeleteMessage()# functions. Other functions may be overridden for further enhancement to the sockets capabilities, but these will give a basic POP3 server functionality.<p>The server socket thread would continuously call the ProcessMessage()# function until it returns FALSE. This will then call the appropriate virtual function on parsing the POP3 protocol. <p><hr><h2>Constructor & Destructor Documentation</h2><a name="a0" doxytag="PHTTPServer::PHTTPServer"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PHTTPServer::PHTTPServer </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Create a TCP/IP HTTP protocol socket channel. The form with the single <code>port</code> parameter creates an unopened socket, the form with the <code>address</code> parameter makes a connection to a remote system, opening the socket. The form with the <code>socket</code> parameter opens the socket to an incoming call from a "listening" socket. </td> </tr></table><a name="a1" doxytag="PHTTPServer::PHTTPServer"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> PHTTPServer::PHTTPServer </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPHTTPSpace.html">PHTTPSpace</a> & </td> <td class="mdname1" valign="top" nowrap> <em>urlSpace</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="b0" doxytag="PHTTPServer::Construct"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void PHTTPServer::Construct </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><p>Reimplemented from <a class="el" href="classPChannel.html">PChannel</a>. </td> </tr></table><a name="a15" doxytag="PHTTPServer::GetConnectionInfo"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a>& PHTTPServer::GetConnectionInfo </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get the connection info for this connection. </td> </tr></table><a name="a2" doxytag="PHTTPServer::GetServerName"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual <a class="el" href="classPString.html">PString</a> PHTTPServer::GetServerName </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get the name of the server.<p><dl compact><dt><b>Returns: </b></dt><dd> String name of the server. </dl> </td> </tr></table><a name="a3" doxytag="PHTTPServer::GetURLSpace"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="classPHTTPSpace.html">PHTTPSpace</a>& PHTTPServer::GetURLSpace </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [inline]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Get the name space being used by the HTTP server socket.<p><dl compact><dt><b>Returns: </b></dt><dd> URL name space tree. </dl> </td> </tr></table><a name="a13" doxytag="PHTTPServer::OnError"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual BOOL PHTTPServer::OnError </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPHTTP.html#s43">StatusCode</a> </td> <td class="mdname" nowrap> <em>code</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const <a class="el" href="classPCaselessString.html">PCaselessString</a> & </td> <td class="mdname" nowrap> <em>extra</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const <a class="el" href="classPHTTPConnectionInfo.html">PHTTPConnectionInfo</a> & </td> <td class="mdname" nowrap> <em>connectInfo</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [virtual]</code></td> </tr> </table> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -