700 lines
38 KiB
HTML
700 lines
38 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>SFML - Simple and Fast Multimedia Library</title>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
|
|
<link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="search/search.css" />
|
|
<link rel="stylesheet" type="text/css" href="searchOverrides.css" />
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function() { init_search(); });
|
|
/* @license-end */
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div id="banner-container">
|
|
<div id="banner">
|
|
<span id="sfml">SFML 3.0.0</span>
|
|
</div>
|
|
</div>
|
|
<div id="content">
|
|
<div>
|
|
<!-- Generated by Doxygen 1.12.0 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="topics.html"><span>Topics</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li>
|
|
<div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
|
|
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){ initResizable(false); });
|
|
/* @license-end */
|
|
</script>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespacesf.html">sf</a></li><li class="navelem"><a class="el" href="classsf_1_1Socket.html">Socket</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div id="doc-content">
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
|
<a href="#pro-types">Protected Types</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="#friends">Friends</a> |
|
|
<a href="classsf_1_1Socket-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">sf::Socket Class Reference<div class="ingroups"><a class="el" href="group__network.html">Network module</a></div></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Base class for all the socket types.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="Socket_8hpp_source.html">SFML/Network/Socket.hpp</a>></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for sf::Socket:</div>
|
|
<div class="dyncontent">
|
|
<div class="center">
|
|
<img src="classsf_1_1Socket.png" usemap="#sf::Socket_map" alt=""/>
|
|
<map id="sf::Socket_map" name="sf::Socket_map">
|
|
<area href="classsf_1_1TcpListener.html" title="Socket that listens to new TCP connections." alt="sf::TcpListener" shape="rect" coords="0,56,94,80"/>
|
|
<area href="classsf_1_1TcpSocket.html" title="Specialized socket using the TCP protocol." alt="sf::TcpSocket" shape="rect" coords="104,56,198,80"/>
|
|
<area href="classsf_1_1UdpSocket.html" title="Specialized socket using the UDP protocol." alt="sf::UdpSocket" shape="rect" coords="208,56,302,80"/>
|
|
</map>
|
|
</div></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:a51bf0fd51057b98a10fbb866246176dc" id="r_a51bf0fd51057b98a10fbb866246176dc"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a51bf0fd51057b98a10fbb866246176dc">Status</a> { <br />
|
|
  <a class="el" href="#a51bf0fd51057b98a10fbb866246176dcaf92965e2c8a7afb3c1b9a5c09a263636">Done</a>
|
|
, <a class="el" href="#a51bf0fd51057b98a10fbb866246176dcadd353567e8118a2b8df4e822e59084ab">NotReady</a>
|
|
, <a class="el" href="#a51bf0fd51057b98a10fbb866246176dca44ffd38a6dea695cbe2b34efdcc6cf27">Partial</a>
|
|
, <a class="el" href="#a51bf0fd51057b98a10fbb866246176dcaef70e46fd3bbc21e3e1f0b6815e750c0">Disconnected</a>
|
|
, <br />
|
|
  <a class="el" href="#a51bf0fd51057b98a10fbb866246176dca902b0d55fddef6f8d651fe1035b7d4bd">Error</a>
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="memdesc:a51bf0fd51057b98a10fbb866246176dc"><td class="mdescLeft"> </td><td class="mdescRight">Status codes that may be returned by socket functions. <a href="#a51bf0fd51057b98a10fbb866246176dc">More...</a><br /></td></tr>
|
|
<tr class="separator:a51bf0fd51057b98a10fbb866246176dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a79a4b5918f0b34a2f8db449089694788" id="r_a79a4b5918f0b34a2f8db449089694788"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="#a79a4b5918f0b34a2f8db449089694788">~Socket</a> ()</td></tr>
|
|
<tr class="memdesc:a79a4b5918f0b34a2f8db449089694788"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br /></td></tr>
|
|
<tr class="separator:a79a4b5918f0b34a2f8db449089694788"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8243a0b79e9b18e4433ab5b8571895b4" id="r_a8243a0b79e9b18e4433ab5b8571895b4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8243a0b79e9b18e4433ab5b8571895b4">Socket</a> (const <a class="el" href="classsf_1_1Socket.html">Socket</a> &)=delete</td></tr>
|
|
<tr class="memdesc:a8243a0b79e9b18e4433ab5b8571895b4"><td class="mdescLeft"> </td><td class="mdescRight">Deleted copy constructor. <br /></td></tr>
|
|
<tr class="separator:a8243a0b79e9b18e4433ab5b8571895b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a191786b937937279dcf78152311132c9" id="r_a191786b937937279dcf78152311132c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsf_1_1Socket.html">Socket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a191786b937937279dcf78152311132c9">operator=</a> (const <a class="el" href="classsf_1_1Socket.html">Socket</a> &)=delete</td></tr>
|
|
<tr class="memdesc:a191786b937937279dcf78152311132c9"><td class="mdescLeft"> </td><td class="mdescRight">Deleted copy assignment. <br /></td></tr>
|
|
<tr class="separator:a191786b937937279dcf78152311132c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4b67cd169f65316ad27af67a399bda8a" id="r_a4b67cd169f65316ad27af67a399bda8a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a4b67cd169f65316ad27af67a399bda8a">Socket</a> (<a class="el" href="classsf_1_1Socket.html">Socket</a> &&socket) noexcept</td></tr>
|
|
<tr class="memdesc:a4b67cd169f65316ad27af67a399bda8a"><td class="mdescLeft"> </td><td class="mdescRight">Move constructor. <br /></td></tr>
|
|
<tr class="separator:a4b67cd169f65316ad27af67a399bda8a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a78d057f96b18192640fbc8177625e09f" id="r_a78d057f96b18192640fbc8177625e09f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsf_1_1Socket.html">Socket</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="#a78d057f96b18192640fbc8177625e09f">operator=</a> (<a class="el" href="classsf_1_1Socket.html">Socket</a> &&socket) noexcept</td></tr>
|
|
<tr class="memdesc:a78d057f96b18192640fbc8177625e09f"><td class="mdescLeft"> </td><td class="mdescRight">Move assignment. <br /></td></tr>
|
|
<tr class="separator:a78d057f96b18192640fbc8177625e09f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a165fc1423e281ea2714c70303d3a9782" id="r_a165fc1423e281ea2714c70303d3a9782"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a165fc1423e281ea2714c70303d3a9782">setBlocking</a> (bool blocking)</td></tr>
|
|
<tr class="memdesc:a165fc1423e281ea2714c70303d3a9782"><td class="mdescLeft"> </td><td class="mdescRight">Set the blocking state of the socket. <br /></td></tr>
|
|
<tr class="separator:a165fc1423e281ea2714c70303d3a9782"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab1ceca9ac114b8baeeda3b34a0aca468" id="r_ab1ceca9ac114b8baeeda3b34a0aca468"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab1ceca9ac114b8baeeda3b34a0aca468">isBlocking</a> () const</td></tr>
|
|
<tr class="memdesc:ab1ceca9ac114b8baeeda3b34a0aca468"><td class="mdescLeft"> </td><td class="mdescRight">Tell whether the socket is in blocking or non-blocking mode. <br /></td></tr>
|
|
<tr class="separator:ab1ceca9ac114b8baeeda3b34a0aca468"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
|
|
Static Public Attributes</h2></td></tr>
|
|
<tr class="memitem:a16dfada3e5ba1773ac434bc70510221f" id="r_a16dfada3e5ba1773ac434bc70510221f"><td class="memItemLeft" align="right" valign="top">static constexpr unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a16dfada3e5ba1773ac434bc70510221f">AnyPort</a> {0}</td></tr>
|
|
<tr class="memdesc:a16dfada3e5ba1773ac434bc70510221f"><td class="mdescLeft"> </td><td class="mdescRight">Some special values used by sockets. <br /></td></tr>
|
|
<tr class="separator:a16dfada3e5ba1773ac434bc70510221f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-types" name="pro-types"></a>
|
|
Protected Types</h2></td></tr>
|
|
<tr class="memitem:a5d3ff44e56e68f02816bb0fabc34adf8" id="r_a5d3ff44e56e68f02816bb0fabc34adf8"><td class="memItemLeft" align="right" valign="top">enum class  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5d3ff44e56e68f02816bb0fabc34adf8">Type</a> { <a class="el" href="#a5d3ff44e56e68f02816bb0fabc34adf8a30b7fdeebc36988717d0e274cc2e7520">Tcp</a>
|
|
, <a class="el" href="#a5d3ff44e56e68f02816bb0fabc34adf8a81baba40274ccb30f9fdfa2c73cf0482">Udp</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a5d3ff44e56e68f02816bb0fabc34adf8"><td class="mdescLeft"> </td><td class="mdescRight">Types of protocols that the socket can use. <a href="#a5d3ff44e56e68f02816bb0fabc34adf8">More...</a><br /></td></tr>
|
|
<tr class="separator:a5d3ff44e56e68f02816bb0fabc34adf8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:a80ffb47ec0bafc83af019055d3e6a303" id="r_a80ffb47ec0bafc83af019055d3e6a303"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a80ffb47ec0bafc83af019055d3e6a303">Socket</a> (<a class="el" href="#a5d3ff44e56e68f02816bb0fabc34adf8">Type</a> type)</td></tr>
|
|
<tr class="memdesc:a80ffb47ec0bafc83af019055d3e6a303"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br /></td></tr>
|
|
<tr class="separator:a80ffb47ec0bafc83af019055d3e6a303"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a67fe286629b47a62c723478b846ab2c4" id="r_a67fe286629b47a62c723478b846ab2c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacesf.html#a7403828dc19b7052b988d22c841ae92d">SocketHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a67fe286629b47a62c723478b846ab2c4">getNativeHandle</a> () const</td></tr>
|
|
<tr class="memdesc:a67fe286629b47a62c723478b846ab2c4"><td class="mdescLeft"> </td><td class="mdescRight">Return the internal handle of the socket. <br /></td></tr>
|
|
<tr class="separator:a67fe286629b47a62c723478b846ab2c4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aafbe140f4b1921e0d19e88cf7a61dcbc" id="r_aafbe140f4b1921e0d19e88cf7a61dcbc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#aafbe140f4b1921e0d19e88cf7a61dcbc">create</a> ()</td></tr>
|
|
<tr class="memdesc:aafbe140f4b1921e0d19e88cf7a61dcbc"><td class="mdescLeft"> </td><td class="mdescRight">Create the internal representation of the socket. <br /></td></tr>
|
|
<tr class="separator:aafbe140f4b1921e0d19e88cf7a61dcbc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af1dd898f7aa3ead7ff7b2d1c20e97781" id="r_af1dd898f7aa3ead7ff7b2d1c20e97781"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#af1dd898f7aa3ead7ff7b2d1c20e97781">create</a> (<a class="el" href="namespacesf.html#a7403828dc19b7052b988d22c841ae92d">SocketHandle</a> handle)</td></tr>
|
|
<tr class="memdesc:af1dd898f7aa3ead7ff7b2d1c20e97781"><td class="mdescLeft"> </td><td class="mdescRight">Create the internal representation of the socket from a socket handle. <br /></td></tr>
|
|
<tr class="separator:af1dd898f7aa3ead7ff7b2d1c20e97781"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a71f2f5c2aa99e01cafe824fee4c573be" id="r_a71f2f5c2aa99e01cafe824fee4c573be"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a71f2f5c2aa99e01cafe824fee4c573be">close</a> ()</td></tr>
|
|
<tr class="memdesc:a71f2f5c2aa99e01cafe824fee4c573be"><td class="mdescLeft"> </td><td class="mdescRight">Close the socket gracefully. <br /></td></tr>
|
|
<tr class="separator:a71f2f5c2aa99e01cafe824fee4c573be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
|
|
Friends</h2></td></tr>
|
|
<tr class="memitem:a23fafd48278ea4f8f9c25f1f0f43693c" id="r_a23fafd48278ea4f8f9c25f1f0f43693c"><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="#a23fafd48278ea4f8f9c25f1f0f43693c">SocketSelector</a></td></tr>
|
|
<tr class="separator:a23fafd48278ea4f8f9c25f1f0f43693c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Base class for all the socket types. </p>
|
|
<p>This class mainly defines internal stuff to be used by derived classes.</p>
|
|
<p>The only public features that it defines, and which is therefore common to all the socket classes, is the blocking state. All sockets can be set as blocking or non-blocking.</p>
|
|
<p>In blocking mode, socket functions will hang until the operation completes, which means that the entire program (well, in fact the current thread if you use multiple ones) will be stuck waiting for your socket operation to complete.</p>
|
|
<p>In non-blocking mode, all the socket functions will return immediately. If the socket is not ready to complete the requested operation, the function simply returns the proper status code (<code><a class="el" href="#a51bf0fd51057b98a10fbb866246176dcadd353567e8118a2b8df4e822e59084ab" title="The socket is not ready to send / receive data yet.">Socket::Status::NotReady</a></code>).</p>
|
|
<p>The default mode, which is blocking, is the one that is generally used, in combination with threads or selectors. The non-blocking mode is rather used in real-time applications that run an endless loop that can poll the socket often enough, and cannot afford blocking this loop.</p>
|
|
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="classsf_1_1TcpListener.html" title="Socket that listens to new TCP connections.">sf::TcpListener</a></code>, <code><a class="el" href="classsf_1_1TcpSocket.html" title="Specialized socket using the TCP protocol.">sf::TcpSocket</a></code>, <code><a class="el" href="classsf_1_1UdpSocket.html" title="Specialized socket using the UDP protocol.">sf::UdpSocket</a></code> </dd></dl>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Socket_8hpp_source.html#l00041">41</a> of file <a class="el" href="Socket_8hpp_source.html">Socket.hpp</a>.</p>
|
|
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
<a id="a51bf0fd51057b98a10fbb866246176dc" name="a51bf0fd51057b98a10fbb866246176dc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a51bf0fd51057b98a10fbb866246176dc">◆ </a></span>Status</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum class <a class="el" href="#a51bf0fd51057b98a10fbb866246176dc">sf::Socket::Status</a></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Status codes that may be returned by socket functions. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a51bf0fd51057b98a10fbb866246176dcaf92965e2c8a7afb3c1b9a5c09a263636" name="a51bf0fd51057b98a10fbb866246176dcaf92965e2c8a7afb3c1b9a5c09a263636"></a>Done </td><td class="fielddoc"><p>The socket has sent / received the data. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a51bf0fd51057b98a10fbb866246176dcadd353567e8118a2b8df4e822e59084ab" name="a51bf0fd51057b98a10fbb866246176dcadd353567e8118a2b8df4e822e59084ab"></a>NotReady </td><td class="fielddoc"><p>The socket is not ready to send / receive data yet. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a51bf0fd51057b98a10fbb866246176dca44ffd38a6dea695cbe2b34efdcc6cf27" name="a51bf0fd51057b98a10fbb866246176dca44ffd38a6dea695cbe2b34efdcc6cf27"></a>Partial </td><td class="fielddoc"><p>The socket sent a part of the data. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a51bf0fd51057b98a10fbb866246176dcaef70e46fd3bbc21e3e1f0b6815e750c0" name="a51bf0fd51057b98a10fbb866246176dcaef70e46fd3bbc21e3e1f0b6815e750c0"></a>Disconnected </td><td class="fielddoc"><p>The TCP socket has been disconnected. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a51bf0fd51057b98a10fbb866246176dca902b0d55fddef6f8d651fe1035b7d4bd" name="a51bf0fd51057b98a10fbb866246176dca902b0d55fddef6f8d651fe1035b7d4bd"></a>Error </td><td class="fielddoc"><p>An unexpected error happened. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Socket_8hpp_source.html#l00048">48</a> of file <a class="el" href="Socket_8hpp_source.html">Socket.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5d3ff44e56e68f02816bb0fabc34adf8" name="a5d3ff44e56e68f02816bb0fabc34adf8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d3ff44e56e68f02816bb0fabc34adf8">◆ </a></span>Type</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum class <a class="el" href="#a5d3ff44e56e68f02816bb0fabc34adf8">sf::Socket::Type</a></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Types of protocols that the socket can use. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5d3ff44e56e68f02816bb0fabc34adf8a30b7fdeebc36988717d0e274cc2e7520" name="a5d3ff44e56e68f02816bb0fabc34adf8a30b7fdeebc36988717d0e274cc2e7520"></a>Tcp </td><td class="fielddoc"><p>TCP protocol. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a5d3ff44e56e68f02816bb0fabc34adf8a81baba40274ccb30f9fdfa2c73cf0482" name="a5d3ff44e56e68f02816bb0fabc34adf8a81baba40274ccb30f9fdfa2c73cf0482"></a>Udp </td><td class="fielddoc"><p>UDP protocol. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Socket_8hpp_source.html#l00128">128</a> of file <a class="el" href="Socket_8hpp_source.html">Socket.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a79a4b5918f0b34a2f8db449089694788" name="a79a4b5918f0b34a2f8db449089694788"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a79a4b5918f0b34a2f8db449089694788">◆ </a></span>~Socket()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual sf::Socket::~Socket </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destructor. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8243a0b79e9b18e4433ab5b8571895b4" name="a8243a0b79e9b18e4433ab5b8571895b4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8243a0b79e9b18e4433ab5b8571895b4">◆ </a></span>Socket() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">sf::Socket::Socket </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classsf_1_1Socket.html">Socket</a> &</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deleted copy constructor. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4b67cd169f65316ad27af67a399bda8a" name="a4b67cd169f65316ad27af67a399bda8a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4b67cd169f65316ad27af67a399bda8a">◆ </a></span>Socket() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">sf::Socket::Socket </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classsf_1_1Socket.html">Socket</a> &&</td> <td class="paramname"><span class="paramname"><em>socket</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Move constructor. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a80ffb47ec0bafc83af019055d3e6a303" name="a80ffb47ec0bafc83af019055d3e6a303"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a80ffb47ec0bafc83af019055d3e6a303">◆ </a></span>Socket() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">sf::Socket::Socket </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="#a5d3ff44e56e68f02816bb0fabc34adf8">Type</a></td> <td class="paramname"><span class="paramname"><em>type</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Default constructor. </p>
|
|
<p>This constructor can only be accessed by derived classes.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">type</td><td>Type of the socket (TCP or UDP) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a71f2f5c2aa99e01cafe824fee4c573be" name="a71f2f5c2aa99e01cafe824fee4c573be"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a71f2f5c2aa99e01cafe824fee4c573be">◆ </a></span>close()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void sf::Socket::close </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Close the socket gracefully. </p>
|
|
<p>This function can only be accessed by derived classes. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aafbe140f4b1921e0d19e88cf7a61dcbc" name="aafbe140f4b1921e0d19e88cf7a61dcbc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aafbe140f4b1921e0d19e88cf7a61dcbc">◆ </a></span>create() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void sf::Socket::create </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create the internal representation of the socket. </p>
|
|
<p>This function can only be accessed by derived classes. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af1dd898f7aa3ead7ff7b2d1c20e97781" name="af1dd898f7aa3ead7ff7b2d1c20e97781"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af1dd898f7aa3ead7ff7b2d1c20e97781">◆ </a></span>create() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void sf::Socket::create </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="namespacesf.html#a7403828dc19b7052b988d22c841ae92d">SocketHandle</a></td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create the internal representation of the socket from a socket handle. </p>
|
|
<p>This function can only be accessed by derived classes.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>OS-specific handle of the socket to wrap </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a67fe286629b47a62c723478b846ab2c4" name="a67fe286629b47a62c723478b846ab2c4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a67fe286629b47a62c723478b846ab2c4">◆ </a></span>getNativeHandle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="namespacesf.html#a7403828dc19b7052b988d22c841ae92d">SocketHandle</a> sf::Socket::getNativeHandle </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">nodiscard</span><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Return the internal handle of the socket. </p>
|
|
<p>The returned handle may be invalid if the socket was not created yet (or already destroyed). This function can only be accessed by derived classes.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>The internal (OS-specific) handle of the socket </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab1ceca9ac114b8baeeda3b34a0aca468" name="ab1ceca9ac114b8baeeda3b34a0aca468"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab1ceca9ac114b8baeeda3b34a0aca468">◆ </a></span>isBlocking()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool sf::Socket::isBlocking </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">nodiscard</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Tell whether the socket is in blocking or non-blocking mode. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the socket is blocking, <code>false</code> otherwise</dd></dl>
|
|
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="#a165fc1423e281ea2714c70303d3a9782" title="Set the blocking state of the socket.">setBlocking</a></code> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a191786b937937279dcf78152311132c9" name="a191786b937937279dcf78152311132c9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a191786b937937279dcf78152311132c9">◆ </a></span>operator=() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classsf_1_1Socket.html">Socket</a> & sf::Socket::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classsf_1_1Socket.html">Socket</a> &</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deleted copy assignment. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a78d057f96b18192640fbc8177625e09f" name="a78d057f96b18192640fbc8177625e09f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a78d057f96b18192640fbc8177625e09f">◆ </a></span>operator=() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classsf_1_1Socket.html">Socket</a> & sf::Socket::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classsf_1_1Socket.html">Socket</a> &&</td> <td class="paramname"><span class="paramname"><em>socket</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Move assignment. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a165fc1423e281ea2714c70303d3a9782" name="a165fc1423e281ea2714c70303d3a9782"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a165fc1423e281ea2714c70303d3a9782">◆ </a></span>setBlocking()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void sf::Socket::setBlocking </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>blocking</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Set the blocking state of the socket. </p>
|
|
<p>In blocking mode, calls will not return until they have completed their task. For example, a call to Receive in blocking mode won't return until some data was actually received. In non-blocking mode, calls will always return immediately, using the return code to signal whether there was data available or not. By default, all sockets are blocking.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">blocking</td><td><code>true</code> to set the socket as blocking, <code>false</code> for non-blocking</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><code><a class="el" href="#ab1ceca9ac114b8baeeda3b34a0aca468" title="Tell whether the socket is in blocking or non-blocking mode.">isBlocking</a></code> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Friends And Related Symbol Documentation</h2>
|
|
<a id="a23fafd48278ea4f8f9c25f1f0f43693c" name="a23fafd48278ea4f8f9c25f1f0f43693c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a23fafd48278ea4f8f9c25f1f0f43693c">◆ </a></span>SocketSelector</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">friend class <a class="el" href="classsf_1_1SocketSelector.html">SocketSelector</a></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Socket_8hpp_source.html#l00184">184</a> of file <a class="el" href="Socket_8hpp_source.html">Socket.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="a16dfada3e5ba1773ac434bc70510221f" name="a16dfada3e5ba1773ac434bc70510221f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a16dfada3e5ba1773ac434bc70510221f">◆ </a></span>AnyPort</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">unsigned short sf::Socket::AnyPort {0}</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Some special values used by sockets. </p>
|
|
<p>Special value that tells the system to pick any available port </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="Socket_8hpp_source.html#l00062">62</a> of file <a class="el" href="Socket_8hpp_source.html">Socket.hpp</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="Socket_8hpp_source.html">Socket.hpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
SFML is licensed under the terms and conditions of the <a href="https://www.sfml-dev.org/license.php">zlib/png license</a>.<br />
|
|
Copyright © Laurent Gomila ::
|
|
Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a> ::
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|