📄 classpstunclient.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>PSTUNClient 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>PSTUNClient Class Reference</h1><code>#include <<a class="el" href="pstun_8h-source.html">pstun.h</a>></code><p><p>Inheritance diagram for PSTUNClient:<p><center><img src="classPSTUNClient.png" usemap="#PSTUNClient_map" border="0" alt=""></center><map name="PSTUNClient_map"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,84,24"></map><a href="classPSTUNClient-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 Types</h2></td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom>{ <a class="el" href="classPSTUNClient.html#s11s0">DefaultPort</a> = 3478 }</td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classPSTUNClient.html#s12">NatTypes</a> { <br> <a class="el" href="classPSTUNClient.html#s12s1">UnknownNat</a>, <a class="el" href="classPSTUNClient.html#s12s2">OpenNat</a>, <a class="el" href="classPSTUNClient.html#s12s3">ConeNat</a>, <a class="el" href="classPSTUNClient.html#s12s4">RestrictedNat</a>, <br> <a class="el" href="classPSTUNClient.html#s12s5">PortRestrictedNat</a>, <a class="el" href="classPSTUNClient.html#s12s6">SymmetricNat</a>, <a class="el" href="classPSTUNClient.html#s12s7">SymmetricFirewall</a>, <a class="el" href="classPSTUNClient.html#s12s8">BlockedNat</a>, <br> <a class="el" href="classPSTUNClient.html#s12s9">PartialBlockedNat</a>, <a class="el" href="classPSTUNClient.html#s12s10">NumNatTypes</a><br> }</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="classPSTUNClient.html#a0">PSTUNClient</a> (const <a class="el" href="classPString.html">PString</a> &server, WORD portBase=0, WORD portMax=0, WORD portPairBase=0, WORD portPairMax=0)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a1">PSTUNClient</a> (const <a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> &<a class="el" href="classPSTUNClient.html#n0">serverAddress</a>, WORD <a class="el" href="classPSTUNClient.html#n1">serverPort</a>=DefaultPort, WORD portBase=0, WORD portMax=0, WORD portPairBase=0, WORD portPairMax=0)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a2">GetServer</a> () const</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a3">SetServer</a> (const <a class="el" href="classPString.html">PString</a> &server)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a4">SetServer</a> (const <a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> &<a class="el" href="classPSTUNClient.html#n0">serverAddress</a>, WORD <a class="el" href="classPSTUNClient.html#n1">serverPort</a>=0)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a5">SetPortRanges</a> (WORD portBase, WORD portMax=0, WORD portPairBase=0, WORD portPairMax=0)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPSTUNClient.html#s12">NatTypes</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a6">GetNatType</a> (BOOL force=FALSE)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a7">GetNatTypeName</a> (BOOL force=FALSE)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a8">GetExternalAddress</a> (<a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> &externalAddress, const <a class="el" href="classPTimeInterval.html">PTimeInterval</a> &maxAge=1000)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a9">CreateSocket</a> (<a class="el" href="classPUDPSocket.html">PUDPSocket</a> *&socket)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPSTUNClient.html#a10">CreateSocketPair</a> (<a class="el" href="classPUDPSocket.html">PUDPSocket</a> *&socket1, <a class="el" href="classPUDPSocket.html">PUDPSocket</a> *&socket2)</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="classPSTUNClient.html#b0">Construct</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPSTUNClient.html#b1">OpenSocket</a> (<a class="el" href="classPUDPSocket.html">PUDPSocket</a> &socket, <a class="el" href="structPSTUNClient_1_1PortInfo.html">PortInfo</a> &portInfo) const</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n0">serverAddress</a></td></tr><tr><td nowrap align=right valign=top>WORD </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n1">serverPort</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="structPSTUNClient_1_1PortInfo.html">PSTUNClient::PortInfo</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n2">singlePortInfo</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="structPSTUNClient_1_1PortInfo.html">PSTUNClient::PortInfo</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n3">pairedPortInfo</a></td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n4">numSocketsForPairing</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPSTUNClient.html#s12">NatTypes</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n5">natType</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n6">cachedExternalAddress</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPTime.html">PTime</a> </td><td valign=bottom><a class="el" href="classPSTUNClient.html#n7">timeAddressObtained</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>STUN client. <p><hr><h2>Member Enumeration Documentation</h2><a name="s11" doxytag="PSTUNClient::@20"></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"> anonymous enum </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s11s0" doxytag="DefaultPort"></a><em>DefaultPort</em></em> </td><td></td></tr></table></dl> </td> </tr></table><a name="s12" doxytag="PSTUNClient::NatTypes"></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"> enum PSTUNClient::NatTypes </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s12s1" doxytag="UnknownNat"></a><em>UnknownNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s2" doxytag="OpenNat"></a><em>OpenNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s3" doxytag="ConeNat"></a><em>ConeNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s4" doxytag="RestrictedNat"></a><em>RestrictedNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s5" doxytag="PortRestrictedNat"></a><em>PortRestrictedNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s6" doxytag="SymmetricNat"></a><em>SymmetricNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s7" doxytag="SymmetricFirewall"></a><em>SymmetricFirewall</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s8" doxytag="BlockedNat"></a><em>BlockedNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s9" doxytag="PartialBlockedNat"></a><em>PartialBlockedNat</em></em> </td><td></td></tr><tr><td valign=top><em><a name="s12s10" doxytag="NumNatTypes"></a><em>NumNatTypes</em></em> </td><td></td></tr></table></dl> </td> </tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="a0" doxytag="PSTUNClient::PSTUNClient"></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"> PSTUNClient::PSTUNClient </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname" nowrap> <em>server</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portBase</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portMax</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portPairBase</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portPairMax</em> = 0</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="a1" doxytag="PSTUNClient::PSTUNClient"></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"> PSTUNClient::PSTUNClient </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & </td> <td class="mdname" nowrap> <em>serverAddress</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>serverPort</em> = DefaultPort, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portBase</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portMax</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portPairBase</em> = 0, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>portPairMax</em> = 0</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></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="PSTUNClient::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 PSTUNClient::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> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -