📄 classpudpsocket.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>PUDPSocket 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>PUDPSocket Class Reference</h1><code>#include <<a class="el" href="udpsock_8h-source.html">udpsock.h</a>></code><p><p>Inheritance diagram for PUDPSocket:<p><center><img src="classPUDPSocket.png" usemap="#PUDPSocket_map" border="0" alt=""></center><map name="PUDPSocket_map"><area href="classPIPDatagramSocket.html" alt="PIPDatagramSocket" shape="rect" coords="66,224,189,248"><area href="classPIPSocket.html" alt="PIPSocket" shape="rect" coords="66,168,189,192"><area href="classPSocket.html" alt="PSocket" shape="rect" coords="66,112,189,136"><area href="classPChannel.html" alt="PChannel" shape="rect" coords="66,56,189,80"><area href="classPObject.html" alt="PObject" shape="rect" coords="66,0,189,24"><area href="classPSocksUDPSocket.html" alt="PSocksUDPSocket" shape="rect" coords="0,336,123,360"><area href="classPSTUNUDPSocket.html" alt="PSTUNUDPSocket" shape="rect" coords="133,336,256,360"></map><a href="classPUDPSocket-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 colspan="2"><div class="groupHeader">Construction</div></td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z465_0">PUDPSocket</a> (WORD <a class="el" href="classPSocket.html#n0">port</a>=0)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z465_1">PUDPSocket</a> (<a class="el" href="classPQoS.html">PQoS</a> *qos, WORD <a class="el" href="classPSocket.html#n0">port</a>=0)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z465_2">PUDPSocket</a> (const <a class="el" href="classPString.html">PString</a> &service, <a class="el" href="classPQoS.html">PQoS</a> *qos=NULL)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z465_3">PUDPSocket</a> (const <a class="el" href="classPString.html">PString</a> &address, WORD <a class="el" href="classPSocket.html#n0">port</a>)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z465_4">PUDPSocket</a> (const <a class="el" href="classPString.html">PString</a> &address, const <a class="el" href="classPString.html">PString</a> &service)</td></tr><tr><td colspan="2"><div class="groupHeader">Overrides from class PSocket</div></td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z467_0">Read</a> (void *buf, PINDEX len)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z467_1">Write</a> (const void *buf, PINDEX len)</td></tr><tr><td nowrap align=right valign=top>BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z467_2">Connect</a> (const <a class="el" href="classPString.html">PString</a> &address)</td></tr><tr><td colspan="2"><div class="groupHeader">New functions for class</div></td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z469_0">SetSendAddress</a> (const Address &address, WORD <a class="el" href="classPSocket.html#n0">port</a>)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z469_1">GetSendAddress</a> (Address &address, WORD &<a class="el" href="classPSocket.html#n0">port</a>)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z469_2">ModifyQoSSpec</a> (<a class="el" href="classPQoS.html">PQoS</a> *qos)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classPUDPSocket.html#z469_3">GetLastReceiveAddress</a> (Address &address, WORD &<a class="el" href="classPSocket.html#n0">port</a>)</td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#b0">OpenSocket</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#b1">OpenSocket</a> (int ipAdressFamily)</td></tr><tr><td nowrap align=right valign=top>virtual int </td><td valign=bottom><a class="el" href="classPUDPSocket.html#b2">OpenSocketGQOS</a> (int af, int type, int proto)</td></tr><tr><td nowrap align=right valign=top>virtual BOOL </td><td valign=bottom><a class="el" href="classPUDPSocket.html#b3">ApplyQoS</a> ()</td></tr><tr><td nowrap align=right valign=top>virtual const char * </td><td valign=bottom><a class="el" href="classPUDPSocket.html#b4">GetProtocolName</a> () const</td></tr><tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr><tr><td nowrap align=right valign=top>Address </td><td valign=bottom><a class="el" href="classPUDPSocket.html#n0">sendAddress</a></td></tr><tr><td nowrap align=right valign=top>WORD </td><td valign=bottom><a class="el" href="classPUDPSocket.html#n1">sendPort</a></td></tr><tr><td nowrap align=right valign=top>Address </td><td valign=bottom><a class="el" href="classPUDPSocket.html#n2">lastReceiveAddress</a></td></tr><tr><td nowrap align=right valign=top>WORD </td><td valign=bottom><a class="el" href="classPUDPSocket.html#n3">lastReceivePort</a></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classPQoS.html">PQoS</a> </td><td valign=bottom><a class="el" href="classPUDPSocket.html#n4">qosSpec</a></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>A socket channel that uses the UDP transport on the Internet Protocol. <p><hr><h2>Constructor & Destructor Documentation</h2><a name="z465_0" doxytag="PUDPSocket::PUDPSocket"></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"> PUDPSocket::PUDPSocket </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">WORD </td> <td class="mdname1" valign="top" nowrap> <em>port</em> = 0 </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 UDP socket. If a remote machine address or a "listening" socket is specified then the channel is also opened. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>port</em> </td><td>Port number to use for the connection. </td></tr></table></dl> </td> </tr></table><a name="z465_1" doxytag="PUDPSocket::PUDPSocket"></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"> PUDPSocket::PUDPSocket </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPQoS.html">PQoS</a> * </td> <td class="mdname" nowrap> <em>qos</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>port</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><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>port</em> </td><td>Pointer to a QOS structure for the connection Port number to use for the connection. </td></tr></table></dl> </td> </tr></table><a name="z465_2" doxytag="PUDPSocket::PUDPSocket"></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"> PUDPSocket::PUDPSocket </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>service</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classPQoS.html">PQoS</a> * </td> <td class="mdname" nowrap> <em>qos</em> = NULL</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><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>qos</em> </td><td>Service name to use for the connection. Pointer to a QOS structure for the connection </td></tr></table></dl> </td> </tr></table><a name="z465_3" doxytag="PUDPSocket::PUDPSocket"></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"> PUDPSocket::PUDPSocket </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>address</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD </td> <td class="mdname" nowrap> <em>port</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><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>port</em> </td><td>Address of remote machine to connect to. Port number to use for the connection. </td></tr></table></dl> </td> </tr></table><a name="z465_4" doxytag="PUDPSocket::PUDPSocket"></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"> PUDPSocket::PUDPSocket </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>address</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>const <a class="el" href="classPString.html">PString</a> & </td> <td class="mdname" nowrap> <em>service</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><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>service</em> </td><td>Address of remote machine to connect to. Service name to use for the connection. </td></tr></table></dl> </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="b3" doxytag="PUDPSocket::ApplyQoS"></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 PUDPSocket::ApplyQoS </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, virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a name="z467_2" doxytag="PUDPSocket::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"> BOOL PUDPSocket::Connect </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>address</em> </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>Override of <a class="el" href="classPSocket.html">PSocket</a> functions to allow connectionless writes <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>address</em> </td><td>Address of remote machine to connect to. </td></tr></table></dl><p>Reimplemented from <a class="el" href="classPIPSocket.html#a2">PIPSocket</a>.<p>Reimplemented in <a class="el" href="classPSocksUDPSocket.html#a3">PSocksUDPSocket</a>. </td> </tr></table><a name="z469_3" doxytag="PUDPSocket::GetLastReceiveAddress"></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 PUDPSocket::GetLastReceiveAddress </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">Address & </td> <td class="mdname" nowrap> <em>address</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD & </td> <td class="mdname" nowrap> <em>port</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>Get the address of the sender in the last connectionless <a class="el" href="classPUDPSocket.html#z467_0">Read()</a>. Note that thsi only applies to the <a class="el" href="classPUDPSocket.html#z467_0">Read()</a> and not the <a class="el" href="classPIPDatagramSocket.html#a0">ReadFrom()</a> function. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>port</em> </td><td>IP address to send packets. Port to send packets. </td></tr></table></dl> </td> </tr></table><a name="b4" doxytag="PUDPSocket::GetProtocolName"></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 const char* PUDPSocket::GetProtocolName </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, virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This function returns the protocol name for the socket type. <p>Implements <a class="el" href="classPSocket.html#b2">PSocket</a>. </td> </tr></table><a name="z469_1" doxytag="PUDPSocket::GetSendAddress"></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 PUDPSocket::GetSendAddress </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">Address & </td> <td class="mdname" nowrap> <em>address</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>WORD & </td> <td class="mdname" nowrap> <em>port</em></td> </tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -