summaryrefslogtreecommitdiff
path: root/doc/html/classsf_1_1SocketTCP.htm
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/classsf_1_1SocketTCP.htm')
-rwxr-xr-xdoc/html/classsf_1_1SocketTCP.htm405
1 files changed, 219 insertions, 186 deletions
diff --git a/doc/html/classsf_1_1SocketTCP.htm b/doc/html/classsf_1_1SocketTCP.htm
index 8ff77de..d4e5958 100755
--- a/doc/html/classsf_1_1SocketTCP.htm
+++ b/doc/html/classsf_1_1SocketTCP.htm
@@ -10,30 +10,35 @@
<div id="logo">
<img src="./logo.jpg" width="770" height="200" title="SFML home" alt="SFML logo" />
</div>
-<!-- Generated by Doxygen 1.5.2 -->
-<div class="tabs">
- <ul>
- <li><a href="index.htm"><span>Main&nbsp;Page</span></a></li>
- <li><a href="namespaces.htm"><span>Namespaces</span></a></li>
- <li class="current"><a href="classes.htm"><span>Classes</span></a></li>
- <li><a href="files.htm"><span>Files</span></a></li>
- </ul>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.htm"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="namespaces.htm"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.htm"><span>Classes</span></a></li>
+ <li><a href="files.htm"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.htm"><span>Class&nbsp;List</span></a></li>
+ <li><a href="classes.htm"><span>Class&nbsp;Index</span></a></li>
+ <li><a href="hierarchy.htm"><span>Class&nbsp;Hierarchy</span></a></li>
+ <li><a href="functions.htm"><span>Class&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="navpath"><b>sf</b>::<a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a>
+ </div>
</div>
-<div class="tabs">
- <ul>
- <li><a href="classes.htm"><span>Alphabetical&nbsp;List</span></a></li>
- <li><a href="annotated.htm"><span>Class&nbsp;List</span></a></li>
- <li><a href="hierarchy.htm"><span>Class&nbsp;Hierarchy</span></a></li>
- <li><a href="functions.htm"><span>Class&nbsp;Members</span></a></li>
- </ul>
-</div>
-<div class="nav">
-<a class="el" href="namespacesf.htm">sf</a>::<a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a></div>
+<div class="contents">
<h1>sf::SocketTCP Class Reference</h1><!-- doxytag: class="sf::SocketTCP" --><a class="el" href="classsf_1_1SocketTCP.htm" title="SocketTCP wraps a socket using TCP protocol to send data safely (but a bit slower)...">SocketTCP</a> wraps a socket using TCP protocol to send data safely (but a bit slower).
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="SocketTCP_8hpp-source.htm">SocketTCP.hpp</a>&gt;</code>
<p>
+
+<p>
<a href="classsf_1_1SocketTCP-members.htm">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
@@ -43,33 +48,33 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#a80f7711b15fe33a5c7005acedae43c9">SetBlocking</a> (bool Blocking)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the blocking state of the socket. <a href="#a80f7711b15fe33a5c7005acedae43c9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#dd590d0119fa8edbe8da1574b6c8f07f">Connect</a> (unsigned short Port, const <a class="el" href="classsf_1_1IPAddress.htm">IPAddress</a> &amp;HostAddress, float Timeout=0.f)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#dd590d0119fa8edbe8da1574b6c8f07f">Connect</a> (unsigned short Port, const <a class="el" href="classsf_1_1IPAddress.htm">IPAddress</a> &amp;HostAddress, float Timeout=0.f)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect to another computer on a specified port. <a href="#dd590d0119fa8edbe8da1574b6c8f07f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#3153062e1fb2a7afe9e0ed80f9204b39">Listen</a> (unsigned short Port)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Listen to a specified port for incoming data or connections. <a href="#3153062e1fb2a7afe9e0ed80f9204b39"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#70beb8cda69c4e9212fd5987f0d04107">Accept</a> (<a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;Connected, <a class="el" href="classsf_1_1IPAddress.htm">IPAddress</a> *Address=NULL)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#70beb8cda69c4e9212fd5987f0d04107">Accept</a> (<a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;Connected, <a class="el" href="classsf_1_1IPAddress.htm">IPAddress</a> *Address=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for a connection (must be listening to a port). <a href="#70beb8cda69c4e9212fd5987f0d04107"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#4debed568966f75e3e63a70f08e67c21">Send</a> (const char *Data, std::size_t Size)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#4debed568966f75e3e63a70f08e67c21">Send</a> (const char *Data, std::size_t Size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send an array of bytes to the host (must be connected first). <a href="#4debed568966f75e3e63a70f08e67c21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#47027b00ab5589017a5c235f2deb3ab0">Receive</a> (char *Data, std::size_t MaxSize, std::size_t &amp;SizeReceived)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#47027b00ab5589017a5c235f2deb3ab0">Receive</a> (char *Data, std::size_t MaxSize, std::size_t &amp;SizeReceived)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive an array of bytes from the host (must be connected first). <a href="#47027b00ab5589017a5c235f2deb3ab0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#a1825883276970b3d2f9b1d61763e5c7">Send</a> (<a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;PacketToSend)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#a1825883276970b3d2f9b1d61763e5c7">Send</a> (<a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;PacketToSend)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a packet of data to the host (must be connected first). <a href="#a1825883276970b3d2f9b1d61763e5c7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#4389aa92523e0a6b3f2d6517cbde74fa">Receive</a> (<a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;PacketToReceive)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Socket::Status&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#4389aa92523e0a6b3f2d6517cbde74fa">Receive</a> (<a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;PacketToReceive)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive a packet from the host (must be connected first). <a href="#4389aa92523e0a6b3f2d6517cbde74fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#70a5111cbddd1edbfa6cbd6017c6d044">Close</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the socket. <a href="#70a5111cbddd1edbfa6cbd6017c6d044"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#134bc86320cc3f4c1ed9075e1c713082">IsValid</a> () const</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#098d613057a72d9e5cfa76a77b5f7124">IsValid</a> () const </td></tr>
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK. <a href="#134bc86320cc3f4c1ed9075e1c713082"></a><br></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK. <a href="#098d613057a72d9e5cfa76a77b5f7124"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#ae32dcf5042a50544848140ec1f94ed1">operator==</a> (const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;Other) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Comparison operator ==. <a href="#ae32dcf5042a50544848140ec1f94ed1"></a><br></td></tr>
@@ -81,15 +86,13 @@
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Comparison operator &lt;. <a href="#dbcfa2c662f98a92beb509d3e5ebb1ce"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9820f8c2c218ce480ae8c891f29df668"></a><!-- doxytag: member="sf::SocketTCP::Selector&lt; SocketTCP &gt;" ref="9820f8c2c218ce480ae8c891f29df668" args="" -->
-class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsf_1_1SocketTCP.htm#9820f8c2c218ce480ae8c891f29df668">Selector&lt; SocketTCP &gt;</a></td></tr>
+class&nbsp;</td><td class="memItemRight" valign="bottom"><b>Selector&lt; SocketTCP &gt;</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classsf_1_1SocketTCP.htm" title="SocketTCP wraps a socket using TCP protocol to send data safely (but a bit slower)...">SocketTCP</a> wraps a socket using TCP protocol to send data safely (but a bit slower).
-<p>
-
-<p>
-Definition at line <a class="el" href="SocketTCP_8hpp-source.htm#l00045">45</a> of file <a class="el" href="SocketTCP_8hpp-source.htm">SocketTCP.hpp</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<p>Definition at line <a class="el" href="SocketTCP_8hpp-source.htm#l00045">45</a> of file <a class="el" href="SocketTCP_8hpp-source.htm">SocketTCP.hpp</a>.</p>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="098157a901a6f355b499085a3fb97afa"></a><!-- doxytag: member="sf::SocketTCP::SocketTCP" ref="098157a901a6f355b499085a3fb97afa" args="()" -->
<div class="memitem">
<div class="memproto">
@@ -99,7 +102,7 @@ Definition at line <a class="el" href="SocketTCP_8hpp-source.htm#l00045">45</a>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td></td>
</tr>
</table>
</div>
@@ -109,34 +112,73 @@ Definition at line <a class="el" href="SocketTCP_8hpp-source.htm#l00045">45</a>
Default constructor.
<p>
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00047">47</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
+
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a80f7711b15fe33a5c7005acedae43c9"></a><!-- doxytag: member="sf::SocketTCP::SetBlocking" ref="a80f7711b15fe33a5c7005acedae43c9" args="(bool Blocking)" -->
+<a class="anchor" name="70beb8cda69c4e9212fd5987f0d04107"></a><!-- doxytag: member="sf::SocketTCP::Accept" ref="70beb8cda69c4e9212fd5987f0d04107" args="(SocketTCP &amp;Connected, IPAddress *Address=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">void sf::SocketTCP::SetBlocking </td>
+ <td class="memname">Socket::Status sf::SocketTCP::Accept </td>
<td>(</td>
- <td class="paramtype">bool&nbsp;</td>
- <td class="paramname"> <em>Blocking</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td class="paramtype"><a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>Connected</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="classsf_1_1IPAddress.htm">IPAddress</a> *&nbsp;</td>
+ <td class="paramname"> <em>Address</em> = <code>NULL</code></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Change the blocking state of the socket.
+Wait for a connection (must be listening to a port).
<p>
-The default behaviour of a socket is blocking<p>
+This function will block if the socket is blocking<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Blocking</em>&nbsp;</td><td>: Pass true to set the socket as blocking, or false for non-blocking </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Connected</em>&nbsp;</td><td>: Socket containing the connection with the connected client </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Address</em>&nbsp;</td><td>: Pointer to an address to fill with client infos (NULL by default)</td></tr>
</table>
</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code</dd></dl>
+This function will block if the socket is blocking
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00195">195</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="70a5111cbddd1edbfa6cbd6017c6d044"></a><!-- doxytag: member="sf::SocketTCP::Close" ref="70a5111cbddd1edbfa6cbd6017c6d044" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bool sf::SocketTCP::Close </td>
+ <td>(</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Close the socket.
+<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if operation has been successful </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00386">386</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
@@ -145,7 +187,7 @@ The default behaviour of a socket is blocking<p>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a> sf::SocketTCP::Connect </td>
+ <td class="memname">Socket::Status sf::SocketTCP::Connect </td>
<td>(</td>
<td class="paramtype">unsigned short&nbsp;</td>
<td class="paramname"> <em>Port</em>, </td>
@@ -165,7 +207,7 @@ The default behaviour of a socket is blocking<p>
<tr>
<td></td>
<td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
@@ -183,184 +225,153 @@ Connect to another computer on a specified port.
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if operation has been successful </dd></dl>
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00070">70</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
+
</div>
</div><p>
-<a class="anchor" name="3153062e1fb2a7afe9e0ed80f9204b39"></a><!-- doxytag: member="sf::SocketTCP::Listen" ref="3153062e1fb2a7afe9e0ed80f9204b39" args="(unsigned short Port)" -->
+<a class="anchor" name="098d613057a72d9e5cfa76a77b5f7124"></a><!-- doxytag: member="sf::SocketTCP::IsValid" ref="098d613057a72d9e5cfa76a77b5f7124" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool sf::SocketTCP::Listen </td>
+ <td class="memname">bool sf::SocketTCP::IsValid </td>
<td>(</td>
- <td class="paramtype">unsigned short&nbsp;</td>
- <td class="paramname"> <em>Port</em> </td>
+ <td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Listen to a specified port for incoming data or connections.
+Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK.
<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Port</em>&nbsp;</td><td>: Port to listen to</td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if operation has been successful </dd></dl>
+Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the socket is valid </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00409">409</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="70beb8cda69c4e9212fd5987f0d04107"></a><!-- doxytag: member="sf::SocketTCP::Accept" ref="70beb8cda69c4e9212fd5987f0d04107" args="(SocketTCP &amp;Connected, IPAddress *Address=NULL)" -->
+<a class="anchor" name="3153062e1fb2a7afe9e0ed80f9204b39"></a><!-- doxytag: member="sf::SocketTCP::Listen" ref="3153062e1fb2a7afe9e0ed80f9204b39" args="(unsigned short Port)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a> sf::SocketTCP::Accept </td>
+ <td class="memname">bool sf::SocketTCP::Listen </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>Connected</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classsf_1_1IPAddress.htm">IPAddress</a> *&nbsp;</td>
- <td class="paramname"> <em>Address</em> = <code>NULL</code></td><td>&nbsp;</td>
- </tr>
- <tr>
+ <td class="paramtype">unsigned short&nbsp;</td>
+ <td class="paramname"> <em>Port</em> </td>
+ <td>&nbsp;)&nbsp;</td>
<td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Wait for a connection (must be listening to a port).
+Listen to a specified port for incoming data or connections.
<p>
-This function will block if the socket is blocking<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Connected</em>&nbsp;</td><td>: <a class="el" href="namespacesf_1_1Socket.htm">Socket</a> containing the connection with the connected client </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>Address</em>&nbsp;</td><td>: Pointer to an address to fill with client infos (NULL by default)</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Port</em>&nbsp;</td><td>: Port to listen to</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if operation has been successful </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00158">158</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="4debed568966f75e3e63a70f08e67c21"></a><!-- doxytag: member="sf::SocketTCP::Send" ref="4debed568966f75e3e63a70f08e67c21" args="(const char *Data, std::size_t Size)" -->
+<a class="anchor" name="4d4dd9e422c485b8a8b390d1f210e84e"></a><!-- doxytag: member="sf::SocketTCP::operator!=" ref="4d4dd9e422c485b8a8b390d1f210e84e" args="(const SocketTCP &amp;Other) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a> sf::SocketTCP::Send </td>
+ <td class="memname">bool sf::SocketTCP::operator!= </td>
<td>(</td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>Data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::size_t&nbsp;</td>
- <td class="paramname"> <em>Size</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td class="paramtype">const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>Other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Send an array of bytes to the host (must be connected first).
+Comparison operator !=.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Data</em>&nbsp;</td><td>: Pointer to the bytes to send </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>Size</em>&nbsp;</td><td>: Number of bytes to send</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Other</em>&nbsp;</td><td>: Socket to compare</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if *this != Other </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00427">427</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="47027b00ab5589017a5c235f2deb3ab0"></a><!-- doxytag: member="sf::SocketTCP::Receive" ref="47027b00ab5589017a5c235f2deb3ab0" args="(char *Data, std::size_t MaxSize, std::size_t &amp;SizeReceived)" -->
+<a class="anchor" name="dbcfa2c662f98a92beb509d3e5ebb1ce"></a><!-- doxytag: member="sf::SocketTCP::operator&lt;" ref="dbcfa2c662f98a92beb509d3e5ebb1ce" args="(const SocketTCP &amp;Other) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a> sf::SocketTCP::Receive </td>
+ <td class="memname">bool sf::SocketTCP::operator&lt; </td>
<td>(</td>
- <td class="paramtype">char *&nbsp;</td>
- <td class="paramname"> <em>Data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::size_t&nbsp;</td>
- <td class="paramname"> <em>MaxSize</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">std::size_t &amp;&nbsp;</td>
- <td class="paramname"> <em>SizeReceived</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
+ <td class="paramtype">const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>Other</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Receive an array of bytes from the host (must be connected first).
+Comparison operator &lt;.
<p>
-This function will block if the socket is blocking<p>
+Provided for compatibility with standard containers, as comparing two sockets doesn't make much sense...<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Data</em>&nbsp;</td><td>: Pointer to a byte array to fill (make sure it is big enough) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>MaxSize</em>&nbsp;</td><td>: Maximum number of bytes to read </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>SizeReceived</em>&nbsp;</td><td>: Number of bytes received</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Other</em>&nbsp;</td><td>: Socket to compare</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if *this &lt; Other</dd></dl>
+Provided for compatibility with standard containers, as comparing two sockets doesn't make much sense...
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00438">438</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="a1825883276970b3d2f9b1d61763e5c7"></a><!-- doxytag: member="sf::SocketTCP::Send" ref="a1825883276970b3d2f9b1d61763e5c7" args="(Packet &amp;PacketToSend)" -->
+<a class="anchor" name="ae32dcf5042a50544848140ec1f94ed1"></a><!-- doxytag: member="sf::SocketTCP::operator==" ref="ae32dcf5042a50544848140ec1f94ed1" args="(const SocketTCP &amp;Other) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a> sf::SocketTCP::Send </td>
+ <td class="memname">bool sf::SocketTCP::operator== </td>
<td>(</td>
- <td class="paramtype"><a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>PacketToSend</em> </td>
+ <td class="paramtype">const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>Other</em> </td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Send a packet of data to the host (must be connected first).
+Comparison operator ==.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>PacketToSend</em>&nbsp;</td><td>: <a class="el" href="classsf_1_1Packet.htm" title="Packet wraps data to send / to receive through the network.">Packet</a> to send</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Other</em>&nbsp;</td><td>: Socket to compare</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if *this == Other </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00418">418</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
@@ -369,12 +380,12 @@ Send a packet of data to the host (must be connected first).
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="namespacesf_1_1Socket.htm#51bf0fd51057b98a10fbb866246176dc">Socket::Status</a> sf::SocketTCP::Receive </td>
+ <td class="memname">Socket::Status sf::SocketTCP::Receive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;&nbsp;</td>
<td class="paramname"> <em>PacketToReceive</em> </td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td></td>
</tr>
</table>
</div>
@@ -389,141 +400,163 @@ This function will block if the socket is blocking<p>
<tr><td valign="top"></td><td valign="top"><em>PacketToReceive</em>&nbsp;</td><td>: <a class="el" href="classsf_1_1Packet.htm" title="Packet wraps data to send / to receive through the network.">Packet</a> to fill with received data</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code</dd></dl>
+This function will block if the socket is blocking
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00329">329</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="70a5111cbddd1edbfa6cbd6017c6d044"></a><!-- doxytag: member="sf::SocketTCP::Close" ref="70a5111cbddd1edbfa6cbd6017c6d044" args="()" -->
+<a class="anchor" name="47027b00ab5589017a5c235f2deb3ab0"></a><!-- doxytag: member="sf::SocketTCP::Receive" ref="47027b00ab5589017a5c235f2deb3ab0" args="(char *Data, std::size_t MaxSize, std::size_t &amp;SizeReceived)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool sf::SocketTCP::Close </td>
+ <td class="memname">Socket::Status sf::SocketTCP::Receive </td>
<td>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>Data</em>, </td>
</tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Close the socket.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if operation has been successful </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="134bc86320cc3f4c1ed9075e1c713082"></a><!-- doxytag: member="sf::SocketTCP::IsValid" ref="134bc86320cc3f4c1ed9075e1c713082" args="() const" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
<tr>
- <td class="memname">bool sf::SocketTCP::IsValid </td>
- <td>(</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::size_t&nbsp;</td>
+ <td class="paramname"> <em>MaxSize</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::size_t &amp;&nbsp;</td>
+ <td class="paramname"> <em>SizeReceived</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK.
+Receive an array of bytes from the host (must be connected first).
<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the socket is valid </dd></dl>
+This function will block if the socket is blocking<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>Data</em>&nbsp;</td><td>: Pointer to a byte array to fill (make sure it is big enough) </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>MaxSize</em>&nbsp;</td><td>: Maximum number of bytes to read </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>SizeReceived</em>&nbsp;</td><td>: Number of bytes received</td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code</dd></dl>
+This function will block if the socket is blocking
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00261">261</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="ae32dcf5042a50544848140ec1f94ed1"></a><!-- doxytag: member="sf::SocketTCP::operator==" ref="ae32dcf5042a50544848140ec1f94ed1" args="(const SocketTCP &amp;Other) const " -->
+<a class="anchor" name="a1825883276970b3d2f9b1d61763e5c7"></a><!-- doxytag: member="sf::SocketTCP::Send" ref="a1825883276970b3d2f9b1d61763e5c7" args="(Packet &amp;PacketToSend)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool sf::SocketTCP::operator== </td>
+ <td class="memname">Socket::Status sf::SocketTCP::Send </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>Other</em> </td>
+ <td class="paramtype"><a class="el" href="classsf_1_1Packet.htm">Packet</a> &amp;&nbsp;</td>
+ <td class="paramname"> <em>PacketToSend</em> </td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Comparison operator ==.
+Send a packet of data to the host (must be connected first).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Other</em>&nbsp;</td><td>: <a class="el" href="namespacesf_1_1Socket.htm">Socket</a> to compare</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>PacketToSend</em>&nbsp;</td><td>: <a class="el" href="classsf_1_1Packet.htm" title="Packet wraps data to send / to receive through the network.">Packet</a> to send</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if *this == Other </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00303">303</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="4d4dd9e422c485b8a8b390d1f210e84e"></a><!-- doxytag: member="sf::SocketTCP::operator!=" ref="4d4dd9e422c485b8a8b390d1f210e84e" args="(const SocketTCP &amp;Other) const " -->
+<a class="anchor" name="4debed568966f75e3e63a70f08e67c21"></a><!-- doxytag: member="sf::SocketTCP::Send" ref="4debed568966f75e3e63a70f08e67c21" args="(const char *Data, std::size_t Size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool sf::SocketTCP::operator!= </td>
+ <td class="memname">Socket::Status sf::SocketTCP::Send </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>Other</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td class="paramtype">const char *&nbsp;</td>
+ <td class="paramname"> <em>Data</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">std::size_t&nbsp;</td>
+ <td class="paramname"> <em>Size</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Comparison operator !=.
+Send an array of bytes to the host (must be connected first).
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Other</em>&nbsp;</td><td>: <a class="el" href="namespacesf_1_1Socket.htm">Socket</a> to compare</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Data</em>&nbsp;</td><td>: Pointer to the bytes to send </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Size</em>&nbsp;</td><td>: Number of bytes to send</td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if *this != Other </dd></dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Status code </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00224">224</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<a class="anchor" name="dbcfa2c662f98a92beb509d3e5ebb1ce"></a><!-- doxytag: member="sf::SocketTCP::operator&lt;" ref="dbcfa2c662f98a92beb509d3e5ebb1ce" args="(const SocketTCP &amp;Other) const " -->
+<a class="anchor" name="a80f7711b15fe33a5c7005acedae43c9"></a><!-- doxytag: member="sf::SocketTCP::SetBlocking" ref="a80f7711b15fe33a5c7005acedae43c9" args="(bool Blocking)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">bool sf::SocketTCP::operator&lt; </td>
+ <td class="memname">void sf::SocketTCP::SetBlocking </td>
<td>(</td>
- <td class="paramtype">const <a class="el" href="classsf_1_1SocketTCP.htm">SocketTCP</a> &amp;&nbsp;</td>
- <td class="paramname"> <em>Other</em> </td>
+ <td class="paramtype">bool&nbsp;</td>
+ <td class="paramname"> <em>Blocking</em> </td>
<td>&nbsp;)&nbsp;</td>
- <td width="100%"> const</td>
+ <td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
-Comparison operator &lt;.
+Change the blocking state of the socket.
<p>
-Provided for compatibility with standard containers, as comparing two sockets doesn't make much sense...<p>
+The default behaviour of a socket is blocking<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>Other</em>&nbsp;</td><td>: <a class="el" href="namespacesf_1_1Socket.htm">Socket</a> to compare</td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>Blocking</em>&nbsp;</td><td>: Pass true to set the socket as blocking, or false for non-blocking </td></tr>
</table>
</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if *this &lt; Other </dd></dl>
+
+<p>Definition at line <a class="el" href="SocketTCP_8cpp-source.htm#l00056">56</a> of file <a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a>.</p>
</div>
</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="SocketTCP_8hpp-source.htm">SocketTCP.hpp</a></ul>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="SocketTCP_8hpp-source.htm">SocketTCP.hpp</a><li><a class="el" href="SocketTCP_8cpp-source.htm">SocketTCP.cpp</a></ul>
+</div>
<p id="footer">
&nbsp;::&nbsp; Copyright &copy; 2007-2008 Laurent Gomila, all rights reserved &nbsp;::&nbsp;