📄 classpipsocket_1_1address.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>PIPSocket::Address 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>PIPSocket::Address Class Reference</h1><code>#include <<a class="el" href="ipsock_8h-source.html">ipsock.h</a>></code><p><p>Inheritance diagram for PIPSocket::Address:<p><center><img src="classPIPSocket_1_1Address.png" usemap="#PIPSocket::Address_map" border="0" alt=""></center><map name="PIPSocket::Address_map"><area href="classPObject.html" alt="PObject" shape="rect" coords="0,0,122,24"></map><a href="classPIPSocket_1_1Address-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><a class="el" href="classPObject.html#z199_0">Comparison</a> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a0">Compare</a> (const <a class="el" href="classPObject.html">PObject</a> &obj) const</td></tr><tr><td> </td><td><font size=-1><em>Compare two adresses.</em> <a href="#a0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a1">operator==</a> (const Address &addr) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a2">operator!=</a> (const Address &addr) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a3">operator==</a> (in_addr &addr) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a4">operator!=</a> (in_addr &addr) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a5">operator==</a> (DWORD dw) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a6">operator!=</a> (DWORD dw) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a7">operator==</a> (int i) const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a8">operator!=</a> (int i) const</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="classPIPSocket_1_1Address.html#a9">AsString</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Format an address as a string.</em> <a href="#a9"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a10">FromString</a> (const <a class="el" href="classPString.html">PString</a> &str)</td></tr><tr><td> </td><td><font size=-1><em>Convert string to IP address. Returns TRUE if was a valid address.</em> <a href="#a10"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a11">operator PString</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Format an address as a string.</em> <a href="#a11"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a12">operator in_addr</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Return IPv4 address in network order.</em> <a href="#a12"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a13">operator DWORD</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Return IPv4 address in network order.</em> <a href="#a13"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a14">Byte1</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Return first byte of IPv4 address.</em> <a href="#a14"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a15">Byte2</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Return second byte of IPv4 address.</em> <a href="#a15"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a16">Byte3</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Return third byte of IPv4 address.</em> <a href="#a16"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a17">Byte4</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Return fourth byte of IPv4 address.</em> <a href="#a17"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BYTE </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a18">operator[]</a> (PINDEX idx) const</td></tr><tr><td> </td><td><font size=-1><em>return specified byte of IPv4 or IPv6 address</em> <a href="#a18"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>PINDEX </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a19">GetSize</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Get the address length (will be either 4 or 16).</em> <a href="#a19"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>const char * </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a20">GetPointer</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Get the pointer to IP address data.</em> <a href="#a20"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a21">GetVersion</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Get the version of the IP address being used.</em> <a href="#a21"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a22">IsValid</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Check address 0.0.0.0 or ::.</em> <a href="#a22"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a23">IsAny</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a24">IsLoopback</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Check address 127.0.0.1 or ::1.</em> <a href="#a24"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a25">IsBroadcast</a> () const</td></tr><tr><td> </td><td><font size=-1><em>Check for Broadcast address 255.255.255.255.</em> <a href="#a25"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#a26">IsRFC1918</a> () const</td></tr><tr><td colspan="2"><div class="groupHeader">Address constructors</div></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_0">Address</a> ()</td></tr><tr><td> </td><td><font size=-1><em>Create an IPv4 address with the default address: 127.0.0.1 (loopback).</em> <a href="#z161_0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_1">Address</a> (const <a class="el" href="classPString.html">PString</a> &dotNotation)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_2">Address</a> (PINDEX len, const BYTE *bytes)</td></tr><tr><td> </td><td><font size=-1><em>Create an IPv4 or IPv6 address from 4 or 16 byte values.</em> <a href="#z161_2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_3">Address</a> (BYTE b1, BYTE b2, BYTE b3, BYTE b4)</td></tr><tr><td> </td><td><font size=-1><em>Create an IP address from four byte values.</em> <a href="#z161_3"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_4">Address</a> (DWORD dw)</td></tr><tr><td> </td><td><font size=-1><em>Create an IPv4 address from a four byte value in network byte order.</em> <a href="#z161_4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_5">Address</a> (const in_addr &addr)</td></tr><tr><td> </td><td><font size=-1><em>Create an IPv4 address from an in_addr structure.</em> <a href="#z161_5"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>Address & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_6">operator=</a> (const in_addr &addr)</td></tr><tr><td> </td><td><font size=-1><em>Copy an address from another IP v4 address.</em> <a href="#z161_6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>Address & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_7">operator=</a> (const <a class="el" href="classPString.html">PString</a> &dotNotation)</td></tr><tr><td> </td><td><font size=-1><em>Copy an address from a string.</em> <a href="#z161_7"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>Address & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#z161_8">operator=</a> (DWORD dw)</td></tr><tr><td> </td><td><font size=-1><em>Copy an address from a four byte value in network order.</em> <a href="#z161_8"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>const Address & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#d0">GetLoopback</a> ()</td></tr><tr><td nowrap align=right valign=top>const Address & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#d1">GetBroadcast</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap>union {</td></tr><tr><td nowrap> in_addr <a class="el" href="classPIPSocket_1_1Address.html#n0">four</a></td></tr><tr><td nowrap valign=top>} </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#n1">v</a></td></tr><tr><td> </td><td><font size=-1><em>Runtime test of IP addresse type.</em> <a href="#n1"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>unsigned </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#n2">version</a></td></tr><tr><td colspan=2><br><h2>Friends</h2></td></tr><tr><td nowrap align=right valign=top>ostream & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#l0">operator<<</a> (ostream &s, const Address &a)</td></tr><tr><td> </td><td><font size=-1><em>output IPv6 & IPv4 address as a string to the specified string</em> <a href="#l0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>istream & </td><td valign=bottom><a class="el" href="classPIPSocket_1_1Address.html#l1">operator>></a> (istream &s, Address &a)</td></tr><tr><td> </td><td><font size=-1><em>input IPv4 (not IPv6 yet!) address as a string from the specified string</em> <a href="#l1"></a><em></em></font><br><br></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A class describing an IP address <p><hr><h2>Constructor & Destructor Documentation</h2><a name="z161_0" doxytag="PIPSocket::Address::Address"></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"> PIPSocket::Address::Address </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 an IPv4 address with the default address: 127.0.0.1 (loopback).<p> </td> </tr></table><a name="z161_1" doxytag="PIPSocket::Address::Address"></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"> PIPSocket::Address::Address </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="mdname1" valign="top" nowrap> <em>dotNotation</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>Create an IP address from string notation. eg dot notation x.x.x.x. for IPv4, or colon notation x:x:x::xxx for IPv6 </td> </tr></table><a name="z161_2" doxytag="PIPSocket::Address::Address"></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"> PIPSocket::Address::Address </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">PINDEX </td> <td class="mdname" nowrap> <em>len</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const BYTE * </td> <td class="mdname" nowrap> <em>bytes</em></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>Create an IPv4 or IPv6 address from 4 or 16 byte values.<p> </td> </tr></table><a name="z161_3" doxytag="PIPSocket::Address::Address"></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"> PIPSocket::Address::Address </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">BYTE </td> <td class="mdname" nowrap> <em>b1</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>b2</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>b3</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> <em>b4</em></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>Create an IP address from four byte values.<p> </td> </tr></table><a name="z161_4" doxytag="PIPSocket::Address::Address"></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"> PIPSocket::Address::Address </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">DWORD </td> <td class="mdname1" valign="top" nowrap> <em>dw</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>Create an IPv4 address from a four byte value in network byte order.<p> </td> </tr></table><a name="z161_5" doxytag="PIPSocket::Address::Address"></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"> PIPSocket::Address::Address </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const in_addr & </td> <td class="mdname1" valign="top" nowrap> <em>addr</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>Create an IPv4 address from an in_addr structure.<p> </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="a9" doxytag="PIPSocket::Address::AsString"></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="classPString.html">PString</a> PIPSocket::Address::AsString </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>Format an address as a string.<p> </td> </tr></table><a name="a14" doxytag="PIPSocket::Address::Byte1"></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"> BYTE PIPSocket::Address::Byte1 </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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -