1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
<!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>Class Poco::Net::ServerSocket</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="language" content="en"/>
<meta name="date" content="2009-11-24"/>
<meta name="generator" content="PocoDoc"/>
<link rel="stylesheet" href="css/styles.css" type="text/css"/>
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0">
<div class="header">
<h1 class="namespace"><a href="Poco.Net.html" class="namespace">Poco::Net</a></h1>
<h1 class="symbol">class ServerSocket</h1>
</div>
<div class="body">
<p>
<b>Library:</b> Net<br />
<b>Package:</b> Sockets<br />
<b>Header:</b> Poco/Net/ServerSocket.h</p>
<h2>Description</h2>
<div class="description">
<p>This class provides an interface to a TCP server socket. </p>
</div>
<h2>Inheritance</h2>
<p><b>Direct Base Classes: </b><a href="Poco.Net.Socket.html" title="class Poco::Net::Socket">Socket</a></p>
<p><b>All Base Classes: </b><a href="Poco.Net.Socket.html" title="class Poco::Net::Socket">Socket</a></p>
<p><b>Known Derived Classes: </b><a href="Poco.Net.SecureServerSocket.html" title="class Poco::Net::SecureServerSocket">SecureServerSocket</a></p>
<h2>Member Summary</h2>
<p><b>Member Functions: </b><a href="Poco.Net.ServerSocket.html#14958" title="Poco::Net::ServerSocket::acceptConnection()">acceptConnection</a>, <a href="Poco.Net.ServerSocket.html#14950" title="Poco::Net::ServerSocket::bind()">bind</a>, <a href="Poco.Net.ServerSocket.html#14956" title="Poco::Net::ServerSocket::listen()">listen</a>, <a href="Poco.Net.ServerSocket.html#14948" title="Poco::Net::ServerSocket::operator =()">operator =</a></p>
<p><b>Inherited Functions: </b><a href="Poco.Net.Socket.html#15077" title="Poco::Net::Socket::address()">address</a>, <a href="Poco.Net.Socket.html#15000" title="Poco::Net::Socket::available()">available</a>, <a href="Poco.Net.Socket.html#14991" title="Poco::Net::Socket::close()">close</a>, <a href="Poco.Net.Socket.html#15076" title="Poco::Net::Socket::getBlocking()">getBlocking</a>, <a href="Poco.Net.Socket.html#15064" title="Poco::Net::Socket::getKeepAlive()">getKeepAlive</a>, <a href="Poco.Net.Socket.html#15056" title="Poco::Net::Socket::getLinger()">getLinger</a>, <a href="Poco.Net.Socket.html#15061" title="Poco::Net::Socket::getNoDelay()">getNoDelay</a>, <a href="Poco.Net.Socket.html#15073" title="Poco::Net::Socket::getOOBInline()">getOOBInline</a>, <a href="Poco.Net.Socket.html#15033" title="Poco::Net::Socket::getOption()">getOption</a>, <a href="Poco.Net.Socket.html#15006" title="Poco::Net::Socket::getReceiveBufferSize()">getReceiveBufferSize</a>, <a href="Poco.Net.Socket.html#15012" title="Poco::Net::Socket::getReceiveTimeout()">getReceiveTimeout</a>, <a href="Poco.Net.Socket.html#15067" title="Poco::Net::Socket::getReuseAddress()">getReuseAddress</a>, <a href="Poco.Net.Socket.html#15070" title="Poco::Net::Socket::getReusePort()">getReusePort</a>, <a href="Poco.Net.Socket.html#15003" title="Poco::Net::Socket::getSendBufferSize()">getSendBufferSize</a>, <a href="Poco.Net.Socket.html#15009" title="Poco::Net::Socket::getSendTimeout()">getSendTimeout</a>, <a href="Poco.Net.Socket.html#15079" title="Poco::Net::Socket::impl()">impl</a>, <a href="Poco.Net.Socket.html#14981" title="Poco::Net::Socket::operator !=()">operator !=</a>, <a href="Poco.Net.Socket.html#14983" title="Poco::Net::Socket::operator <()">operator <</a>, <a href="Poco.Net.Socket.html#14985" title="Poco::Net::Socket::operator <=()">operator <=</a>, <a href="Poco.Net.Socket.html#14976" title="Poco::Net::Socket::operator =()">operator =</a>, <a href="Poco.Net.Socket.html#14979" title="Poco::Net::Socket::operator ==()">operator ==</a>, <a href="Poco.Net.Socket.html#14987" title="Poco::Net::Socket::operator >()">operator ></a>, <a href="Poco.Net.Socket.html#14989" title="Poco::Net::Socket::operator >=()">operator >=</a>, <a href="Poco.Net.Socket.html#15078" title="Poco::Net::Socket::peerAddress()">peerAddress</a>, <a href="Poco.Net.Socket.html#14997" title="Poco::Net::Socket::poll()">poll</a>, <a href="Poco.Net.Socket.html#14992" title="Poco::Net::Socket::select()">select</a>, <a href="Poco.Net.Socket.html#15074" title="Poco::Net::Socket::setBlocking()">setBlocking</a>, <a href="Poco.Net.Socket.html#15062" title="Poco::Net::Socket::setKeepAlive()">setKeepAlive</a>, <a href="Poco.Net.Socket.html#15053" title="Poco::Net::Socket::setLinger()">setLinger</a>, <a href="Poco.Net.Socket.html#15059" title="Poco::Net::Socket::setNoDelay()">setNoDelay</a>, <a href="Poco.Net.Socket.html#15071" title="Poco::Net::Socket::setOOBInline()">setOOBInline</a>, <a href="Poco.Net.Socket.html#15013" title="Poco::Net::Socket::setOption()">setOption</a>, <a href="Poco.Net.Socket.html#15004" title="Poco::Net::Socket::setReceiveBufferSize()">setReceiveBufferSize</a>, <a href="Poco.Net.Socket.html#15010" title="Poco::Net::Socket::setReceiveTimeout()">setReceiveTimeout</a>, <a href="Poco.Net.Socket.html#15065" title="Poco::Net::Socket::setReuseAddress()">setReuseAddress</a>, <a href="Poco.Net.Socket.html#15068" title="Poco::Net::Socket::setReusePort()">setReusePort</a>, <a href="Poco.Net.Socket.html#15001" title="Poco::Net::Socket::setSendBufferSize()">setSendBufferSize</a>, <a href="Poco.Net.Socket.html#15007" title="Poco::Net::Socket::setSendTimeout()">setSendTimeout</a>, <a href="Poco.Net.Socket.html#15084" title="Poco::Net::Socket::sockfd()">sockfd</a>, <a href="Poco.Net.Socket.html#15080" title="Poco::Net::Socket::supportsIPv4()">supportsIPv4</a>, <a href="Poco.Net.Socket.html#15081" title="Poco::Net::Socket::supportsIPv6()">supportsIPv6</a></p>
<h2>Constructors</h2>
<h3><a name="14938">ServerSocket</a></h3>
<p class="decl"><a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a>();</p>
<div class="description">
<p>Creates a server socket. </p>
<p>The server socket must be bound to and address and put into listening state. </p>
</div>
<h3><a name="14939">ServerSocket</a></h3>
<p class="decl"><a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a>(<br /> const <a href="Poco.Net.Socket.html" title="class Poco::Net::Socket">Socket</a> & socket<br />);</p>
<div class="description">
<p>Creates the <a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a> with the <a href="Poco.Net.SocketImpl.html" title="class Poco::Net::SocketImpl">SocketImpl</a> from another socket. The <a href="Poco.Net.SocketImpl.html" title="class Poco::Net::SocketImpl">SocketImpl</a> must be a <a href="Poco.Net.ServerSocketImpl.html" title="class Poco::Net::ServerSocketImpl">ServerSocketImpl</a>, otherwise an <a href="Poco.InvalidArgumentException.html" title="class Poco::InvalidArgumentException">InvalidArgumentException</a> will be thrown. </p>
</div>
<h3><a name="14941">ServerSocket</a></h3>
<p class="decl"><a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a>(<br /> const <a href="Poco.Net.SocketAddress.html" title="class Poco::Net::SocketAddress">SocketAddress</a> & address,<br /> int backlog = 64<br />);</p>
<div class="description">
<p>Creates a server socket, binds it to the given address and puts it in listening state. </p>
<p>After successful construction, the server socket is ready to accept connections. </p>
</div>
<h3><a name="14944">ServerSocket</a></h3>
<p class="decl"><a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a>(<br /> <a href="Poco.html#11352" title="Poco::UInt16">Poco::UInt16</a> port,<br /> int backlog = 64<br />);</p>
<div class="description">
<p>Creates a server socket, binds it to the given port and puts it in listening state. </p>
<p>After successful construction, the server socket is ready to accept connections. </p>
</div>
<h3><a name="14961">ServerSocket</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl"><a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a>(<br /> <a href="Poco.Net.SocketImpl.html" title="class Poco::Net::SocketImpl">SocketImpl</a> * pImpl,<br /> bool<br />);</p>
<div class="description">
<p>The bool argument is to resolve an ambiguity with another constructor (Microsoft Visual C++ 2005) </p>
</div>
<h2>Destructor</h2>
<h3><a name="14947">~ServerSocket</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual ~<a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a>();</p>
<div class="description">
<p>Destroys the <a href="Poco.Net.StreamSocket.html" title="class Poco::Net::StreamSocket">StreamSocket</a>. </p>
</div>
<h2>Member Functions</h2>
<h3><a name="14958">acceptConnection</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual <a href="Poco.Net.StreamSocket.html" title="class Poco::Net::StreamSocket">StreamSocket</a> acceptConnection(<br /> <a href="Poco.Net.SocketAddress.html" title="class Poco::Net::SocketAddress">SocketAddress</a> & clientAddr<br />);</p>
<div class="description">
<p>Get the next completed connection from the socket's completed connection queue. </p>
<p>If the queue is empty, waits until a connection request completes. </p>
<p>Returns a new TCP socket for the connection with the client. </p>
<p>The client socket's address is returned in clientAddr. </p>
</div>
<h3><a name="14960">acceptConnection</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual <a href="Poco.Net.StreamSocket.html" title="class Poco::Net::StreamSocket">StreamSocket</a> acceptConnection();</p>
<div class="description">
<p>Get the next completed connection from the socket's completed connection queue. </p>
<p>If the queue is empty, waits until a connection request completes. </p>
<p>Returns a new TCP socket for the connection with the client. </p>
</div>
<h3><a name="14950">bind</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void bind(<br /> const <a href="Poco.Net.SocketAddress.html" title="class Poco::Net::SocketAddress">SocketAddress</a> & address,<br /> bool reuseAddress = false<br />);</p>
<div class="description">
<p>Bind a local address to the socket. </p>
<p>This is usually only done when establishing a server socket. TCP clients should not bind a socket to a specific address. </p>
<p>If reuseAddress is true, sets the SO_REUSEADDR socket option. </p>
</div>
<h3><a name="14953">bind</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void bind(<br /> <a href="Poco.html#11352" title="Poco::UInt16">Poco::UInt16</a> port,<br /> bool reuseAddress = false<br />);</p>
<div class="description">
<p>Bind a local port to the socket. </p>
<p>This is usually only done when establishing a server socket. </p>
<p>If reuseAddress is true, sets the SO_REUSEADDR socket option. </p>
</div>
<h3><a name="14956">listen</a> <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void listen(<br /> int backlog = 64<br />);</p>
<div class="description">
<p>Puts the socket into listening state. </p>
<p>The socket becomes a passive socket that can accept incoming connection requests. </p>
<p>The backlog argument specifies the maximum number of connections that can be queued for this socket. </p>
</div>
<h3><a name="14948">operator =</a></h3>
<p class="decl"><a href="Poco.Net.ServerSocket.html" title="class Poco::Net::ServerSocket">ServerSocket</a> & operator = (<br /> const <a href="Poco.Net.Socket.html" title="class Poco::Net::Socket">Socket</a> & socket<br />);</p>
<div class="description">
<p>Assignment operator. </p>
<p>Releases the socket's <a href="Poco.Net.SocketImpl.html" title="class Poco::Net::SocketImpl">SocketImpl</a> and attaches the <a href="Poco.Net.SocketImpl.html" title="class Poco::Net::SocketImpl">SocketImpl</a> from the other socket and increments the reference count of the <a href="Poco.Net.SocketImpl.html" title="class Poco::Net::SocketImpl">SocketImpl</a>. </p>
</div>
<p class="footer">POCO C++ Libraries 1.3.6-all<br />
Copyright © 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p>
</div>
</body>
</html>
|