⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classpsocket.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!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>PSocket 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> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</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>PSocket Class Reference</h1><code>#include &lt;<a class="el" href="socket_8h-source.html">socket.h</a>&gt;</code><p><p>Inheritance diagram for PSocket:<p><center><img src="classPSocket.png" usemap="#PSocket_map" border="0" alt=""></center><map name="PSocket_map"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="266,56,389,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="266,0,389,24"><area href="classPEthSocket.html" alt="PEthSocket" shape="rect" coords="0,168,123,192"><area href="classPIPSocket.html" alt="PIPSocket" shape="rect" coords="266,168,389,192"><area href="classPIPXSocket.html" alt="PIPXSocket" shape="rect" coords="598,168,721,192"><area href="classPIPDatagramSocket.html" alt="PIPDatagramSocket" shape="rect" coords="66,224,189,248"><area href="classPTCPSocket.html" alt="PTCPSocket" shape="rect" coords="465,224,588,248"><area href="classPSPXSocket.html" alt="PSPXSocket" shape="rect" coords="598,224,721,248"><area href="classPICMPSocket.html" alt="PICMPSocket" shape="rect" coords="0,280,123,304"><area href="classPUDPSocket.html" alt="PUDPSocket" shape="rect" coords="133,280,256,304"><area href="classPSocksSocket.html" alt="PSocksSocket" shape="rect" coords="399,280,522,304"><area href="classPTelnetSocket.html" alt="PTelnetSocket" shape="rect" coords="532,280,655,304"><area href="classPSocksUDPSocket.html" alt="PSocksUDPSocket" shape="rect" coords="66,336,189,360"><area href="classPSTUNUDPSocket.html" alt="PSTUNUDPSocket" shape="rect" coords="199,336,322,360"><area href="classPSocks4Socket.html" alt="PSocks4Socket" shape="rect" coords="332,336,455,360"><area href="classPSocks5Socket.html" alt="PSocks5Socket" shape="rect" coords="465,336,588,360"></map><a href="classPSocket-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Socket establishment functions</h2></td></tr><tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z369_0">Reusability</a> { <a class="el" href="classPSocket.html#z369_0s0">CanReuseAddress</a>, <a class="el" href="classPSocket.html#z369_0s1">AddressIsExclusive</a> }</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Flags to reuse of port numbers in <a class="el" href="classPSocket.html#z369_2">Listen()</a> function.</em> <a href="#z369_0">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z369_1">Connect</a> (const <a class="el" href="classPString.html">PString</a> &amp;address)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z369_2">Listen</a> (unsigned queueSize=5, WORD <a class="el" href="classPSocket.html#n0">port</a>=0, <a class="el" href="classPSocket.html#z369_0">Reusability</a> reuse=AddressIsExclusive)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z369_3">Accept</a> (PSocket &amp;socket)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z369_4">Shutdown</a> (<a class="el" href="classPChannel.html#z53_0">ShutdownValue</a> option)</td></tr><tr><td colspan=2><br><h2>Port/Service database functions</h2></td></tr><tr><td nowrap align=right valign=top>virtual WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_0">GetPortByService</a> (const <a class="el" href="classPString.html">PString</a> &amp;service) const</td></tr><tr><td nowrap align=right valign=top>virtual <a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_1">GetServiceByPort</a> (WORD <a class="el" href="classPSocket.html#n0">port</a>) const</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_2">SetPort</a> (WORD <a class="el" href="classPSocket.html#n0">port</a>)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_3">SetPort</a> (const <a class="el" href="classPString.html">PString</a> &amp;service)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_4">GetPort</a> () const</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_5">GetService</a> () const</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_6">GetProtocolByName</a> (const <a class="el" href="classPString.html">PString</a> &amp;name)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_7">GetNameByProtocol</a> (WORD proto)</td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_8">GetPortByService</a> (const char *protocol, const <a class="el" href="classPString.html">PString</a> &amp;service)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPString.html">PString</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z373_9">GetServiceByPort</a> (const char *protocol, WORD <a class="el" href="classPSocket.html#n0">port</a>)</td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#a0">Read</a> (void *ptr, PINDEX len)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#a1">~PSocket</a> ()</td></tr><tr><td colspan="2"><div class="groupHeader">Socket options functions</div></td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z371_0">SetOption</a> (int option, int value, int level=SOL_SOCKET)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z371_1">SetOption</a> (int option, const void *valuePtr, PINDEX valueSize, int level=SOL_SOCKET)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z371_2">GetOption</a> (int option, int &amp;value, int level=SOL_SOCKET)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z371_3">GetOption</a> (int option, void *valuePtr, PINDEX valueSize, int level=SOL_SOCKET)</td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td colspan="2"><div class="groupHeader">Multiple socket selection functions</div></td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_0">Select</a> (PSocket &amp;sock1, PSocket &amp;sock2)</td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_1">Select</a> (PSocket &amp;sock1, PSocket &amp;sock2, const <a class="el" href="classPTimeInterval.html">PTimeInterval</a> &amp;timeout)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPChannel.html#z55_0">Errors</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_2">Select</a> (<a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;read)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPChannel.html#z55_0">Errors</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_3">Select</a> (<a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;read, const <a class="el" href="classPTimeInterval.html">PTimeInterval</a> &amp;timeout)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPChannel.html#z55_0">Errors</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_4">Select</a> (<a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;read, <a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;write)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPChannel.html#z55_0">Errors</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_5">Select</a> (<a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;read, <a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;write, const <a class="el" href="classPTimeInterval.html">PTimeInterval</a> &amp;timeout)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPChannel.html#z55_0">Errors</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_6">Select</a> (<a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;read, <a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;write, <a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;except)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPChannel.html#z55_0">Errors</a>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z375_7">Select</a> (<a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;read, <a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;write, <a class="el" href="classPSocket_1_1SelectList.html">SelectList</a> &amp;except, const <a class="el" href="classPTimeInterval.html">PTimeInterval</a> &amp;timeout)</td></tr><tr><td colspan="2"><div class="groupHeader">Integer conversion functions</div></td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z377_0">Host2Net</a> (WORD v)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Convert from host to network byte order.</em> <a href="#z377_0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>DWORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z377_1">Host2Net</a> (DWORD v)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Convert from host to network byte order.</em> <a href="#z377_1"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z377_2">Net2Host</a> (WORD v)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Convert from network to host byte order.</em> <a href="#z377_2"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>DWORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#z377_3">Net2Host</a> (DWORD v)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Convert from network to host byte order.</em> <a href="#z377_3"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b0">PSocket</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b1">OpenSocket</a> ()=0</td></tr><tr><td nowrap align=right valign=top>virtual const char *&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b2">GetProtocolName</a> () const=0</td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b3">os_close</a> ()</td></tr><tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b4">os_socket</a> (int af, int type, int proto)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b5">os_connect</a> (struct sockaddr *sin, PINDEX size)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b6">os_recvfrom</a> (void *buf, PINDEX len, int flags, struct sockaddr *from, PINDEX *fromlen)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b7">os_sendto</a> (const void *buf, PINDEX len, int flags, struct sockaddr *to, PINDEX tolen)</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#b8">os_accept</a> (PSocket &amp;listener, struct sockaddr *addr, PINDEX *size)</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top>WORD&nbsp;</td><td valign=bottom><a class="el" href="classPSocket.html#n0">port</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Port to be used by the socket when opening the channel.</em> <a href="#n0"></a><em></em></font><br><br></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A network communications channel. This is based on the concepts in the Berkley Sockets library.<p>A socket represents a bidirectional communications channel to a {\it port} at a remote {\it host}. <p><hr><h2>Member Enumeration Documentation</h2><a name="z369_0" doxytag="PSocket::Reusability"></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 PSocket::Reusability      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Flags to reuse of port numbers in <a class="el" href="classPSocket.html#z369_2">Listen()</a> function.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="z369_0s0" doxytag="CanReuseAddress"></a><em>CanReuseAddress</em></em>&nbsp;</td><td></td></tr><tr><td valign=top><em><a name="z369_0s1" doxytag="AddressIsExclusive"></a><em>AddressIsExclusive</em></em>&nbsp;</td><td></td></tr></table></dl>    </td>  </tr></table><hr><h2>Constructor &amp; Destructor Documentation</h2><a name="b0" doxytag="PSocket::PSocket"></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"> PSocket::PSocket </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [protected]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a name="a1" doxytag="PSocket::~PSocket"></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"> PSocket::~PSocket </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><hr><h2>Member Function Documentation</h2><a name="z369_3" doxytag="PSocket::Accept"></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 PSocket::Accept </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">PSocket &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>socket</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Open a socket to a remote host on the specified port number. This is an "accepting" socket. When a "listening" socket has a pending connection to make, this will accept a connection made by the "connecting" socket created to establish a link.<p>The port that the socket uses is the one used in the <a class="el" href="classPSocket.html#z369_2">Listen()</a># command of the socket# parameter. Note an error occurs if the socket# parameter has not had the <a class="el" href="classPSocket.html#z369_2">Listen()</a># function called on it.<p>Note that this function will block until a remote system connects to the port number specified in the "listening" socket. The time that the function will block is determined by the read timeout of the socket# parameter. This will normally be PMaxTimeInterval# which indicates an infinite time.<p>The default behaviour is to assert.<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the channel was successfully opened. </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>socket</em>&nbsp;</td><td>Listening socket making the connection. </td></tr></table></dl><p>Reimplemented in <a class="el" href="classPSPXSocket.html#z399_1">PSPXSocket</a>, <a class="el" href="classPTCPSocket.html#z429_2">PTCPSocket</a>, <a class="el" href="classPSocksSocket.html#a5">PSocksSocket</a>, and <a class="el" href="classPTelnetSocket.html#a5">PTelnetSocket</a>.    </td>  </tr></table><a name="z369_1" doxytag="PSocket::Connect"></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 PSocket::Connect </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const <a class="el" href="classPString.html">PString</a> &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>address</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [virtual]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Connect a socket to a remote host on the specified port number. This is typically used by the client or initiator of a communications channel. This connects to a "listening" socket at the other end of the communications channel.<p>Use the SetReadTimeout function to set a maximum time for the Connect<p><dl compact><dt><b>Returns: </b></dt><dd> TRUE if the channel was successfully connected to the remote host. </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>address</em>&nbsp;</td><td>Address of remote machine to connect to. </td></tr></table></dl><p>Reimplemented in <a class="el" href="classPEthSocket.html#z117_0">PEthSocket</a>, <a class="el" href="classPIPSocket.html#a2">PIPSocket</a>, <a class="el" href="classPIPXSocket.html#z165_0">PIPXSocket</a>, <a class="el" href="classPUDPSocket.html#z467_2">PUDPSocket</a>, <a class="el" href="classPSocksSocket.html#a1">PSocksSocket</a>, <a class="el" href="classPSocksUDPSocket.html#a3">PSocksUDPSocket</a>, and <a class="el" href="classPTelnetSocket.html#a4">PTelnetSocket</a>.    </td>  </tr></table><a name="z373_7" doxytag="PSocket::GetNameByProtocol"></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> PSocket::GetNameByProtocol </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">WORD&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>proto</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Get the name of the protocol number specified.<p><dl compact><dt><b>Returns: </b></dt><dd> Name of protocol or the number if the protocol was not found. </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>proto</em>&nbsp;</td><td>Number of protocol </td></tr></table></dl>    </td>  </tr></table><a name="z371_3" doxytag="PSocket::GetOption"></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"> BOOL PSocket::GetOption </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">int&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>option</em>, </td>        </tr>        <tr>

⌨️ 快捷键说明

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