|
libcommonc++
0.7
|
A server (listening) socket for StreamSocket (TCP) connections. More...
#include <ServerSocket.h++>


Public Member Functions | |
| ServerSocket (uint16_t port, uint_t backlog=3) | |
| Construct a new ServerSocket that will listen on the given port. More... | |
| ServerSocket (uint16_t port, const NetworkInterface &ixface, uint_t backlog=3) | |
| Construct a new ServerSocket that will listen on the given port and network interface. More... | |
| ~ServerSocket () | |
| Destructor. More... | |
| void | init () |
| Initialize the socket. More... | |
| void | shutdown () |
| Shut down the socket. More... | |
| void | listen () |
| Begin listening for connections on the socket. More... | |
| bool | isListening () const |
| Determine if the socket is in a listening state. More... | |
| void | accept (StreamSocket &socket) |
| Accept a connection on the socket. More... | |
| virtual void | connect (const String &addr, uint16_t port) |
| Connect the socket to a remote endpoint. More... | |
| virtual void | connect (const SocketAddress &addr) |
| Connect the socket to a remote endpoint. More... | |
| void | setTimeout (timespan_ms_t timeout) |
| Set the timeout for the socket. More... | |
| void | setReceiveBufSize (size_t size) |
| Set the size of the socket's internal receive buffer. More... | |
| size_t | getReceiveBufSize () const |
| Get the size of the socket's internal receive buffer. More... | |
| void | setSendBufSize (size_t size) |
| Set the size of the socket's internal send buffer. More... | |
| size_t | getSendBufSize () const |
| Get the size of the socket's internal send buffer. More... | |
| void | setLingerTime (timespan_s_t timeout) |
| Set the linger time for the socket. More... | |
| timespan_s_t | getLingerTime () const |
| Get the linger time for the socket. More... | |
| void | setReuseAddress (bool enable) |
| Enable or disable the SO_REUSEADDR option on the socket. More... | |
| bool | getReuseAddress () const |
| Determine if the SO_REUSEADDR option is enabled or disabled. More... | |
| void | setKeepAlive (bool enable) |
| Enable or disable the SO_KEEPALIVE option on the socket. More... | |
| bool | getKeepAlive () |
| Determine if the SO_KEEPALIVE option is enabled or disabled. More... | |
| void | setTCPDelay (bool enable) |
| Enable or disable the Nagle algorithm for send coalescing. More... | |
| bool | getTCPDelay () |
| Determine if the Nagle algorithm is enabled or disabled. More... | |
| bool | isInitialized () const |
| Determine if the socket has been initialized. More... | |
| bool | isConnected () const |
| Determine if the socket is connected. More... | |
| NetProtocol | getType () const |
| Get the socket type. More... | |
| const SocketAddress & | getLocalAddress () const |
| Get the address of the local end of the socket. More... | |
| const SocketAddress & | getRemoteAddress () const |
| Get the address of the remote (peer) end of the socket. More... | |
Protected Types | |
| enum | IOWaitMode { WaitWrite, WaitRead } |
Protected Member Functions | |
| SocketHandle | getSocketHandle () const |
| Get the underlying socket handle for this socket. More... | |
| void | waitForIO (IOWaitMode mode) |
| Wait for the socket to become ready for reading or writing. More... | |
Protected Attributes | |
| NetProtocol | _type |
| The socket type. More... | |
| SocketHandle | _socket |
| A handle to the socket itself. More... | |
| SocketAddress | _raddr |
| The remote address. More... | |
| SocketAddress | _laddr |
| The local address. More... | |
| int | _sotimeout |
| The timeout value. More... | |
A server (listening) socket for StreamSocket (TCP) connections.
|
protectedinherited |
| ServerSocket | ( | uint16_t | port, |
| uint_t | backlog = 3 |
||
| ) |
Construct a new ServerSocket that will listen on the given port.
| port | The port number to listen on. |
| backlog | The size of the connection backlog. |
| ServerSocket | ( | uint16_t | port, |
| const NetworkInterface & | ixface, | ||
| uint_t | backlog = 3 |
||
| ) |
Construct a new ServerSocket that will listen on the given port and network interface.
| port | The port number to listen on. |
| ixface | The network interface to listen on. |
| backlog | The size of the connection backlog. |
| ~ServerSocket | ( | ) |
Destructor.
Shuts down the socket.
| void accept | ( | StreamSocket & | socket | ) |
Accept a connection on the socket.
This method blocks until a new connection is pending, unless a timeout has been set on the socket, in which case a TimeoutException is thrown if no connection is pending by the time the timeout expires.
| socket | A socket object which will be initialized to represent the newly-established connection. |
| TimeoutException | If the operation times out. |
| SocketException | If a socket error occurs. |
|
virtualinherited |
Connect the socket to a remote endpoint.
Note that if this call fails, the socket will revert to an uninitialized state; call init() again to reuse the socket.
| addr | The address, which may either be a dot-separated IP address or a DNS name. |
| port | The port number. |
| IOException | If an error occurs. |
Reimplemented in DatagramSocket, and StreamSocket.
|
virtualinherited |
Connect the socket to a remote endpoint.
Note that if this call fails, the socket will revert to an uninitialized state; call init() again to reuse the socket.
| addr | The address. |
| IOException | If an error occurs. |
Reimplemented in DatagramSocket, and StreamSocket.
|
inherited |
Determine if the SO_KEEPALIVE option is enabled or disabled.
| SocketException | If a socket error occurs. |
|
inherited |
Get the linger time for the socket.
| SocketException | If the linger time could not be retrieved. |
|
inlineinherited |
Get the address of the local end of the socket.
|
inherited |
Get the size of the socket's internal receive buffer.
| SocketException | If the size could not be changed. |
|
inlineinherited |
Get the address of the remote (peer) end of the socket.
|
inherited |
Determine if the SO_REUSEADDR option is enabled or disabled.
| SocketException | If a socket error occurs. |
|
inherited |
Get the size of the socket's internal send buffer.
| SocketException | If the size could not be changed. |
|
inlineprotectedinherited |
Get the underlying socket handle for this socket.
|
inherited |
Determine if the Nagle algorithm is enabled or disabled.
| SocketException | If a socket error occurs. |
|
inlineinherited |
Get the socket type.
|
virtual |
Initialize the socket.
This method creates the underlying socket object.
| SocketException | If the socket could not be created. |
Reimplemented from Socket.
|
inlineinherited |
Determine if the socket is connected.
|
inlineinherited |
Determine if the socket has been initialized.
|
inline |
Determine if the socket is in a listening state.
| void listen | ( | ) |
Begin listening for connections on the socket.
| SocketException | If a socket error occurs. |
|
inherited |
Enable or disable the SO_KEEPALIVE option on the socket.
| enable | true to enable the option false to disable it. |
| SocketException | If a socket error occurs. |
|
inherited |
Set the linger time for the socket.
| timeout | The new linger time, in seconds; a negative value disables the linger feature. |
| SocketException | If the linger time could not be changed. |
|
inherited |
Set the size of the socket's internal receive buffer.
| size | The new size, in bytes. |
| SocketException | If the size could not be changed. |
|
inherited |
Enable or disable the SO_REUSEADDR option on the socket.
This method may only be called before the socket has been initialized. This option is off by default in newly created sockets.
| enable | true to enable the option false to disable it. |
| SocketException | If a socket error occurs, or if the call was made after the socket was initialized. |
|
inherited |
Set the size of the socket's internal send buffer.
| size | The new size, in bytes. |
| SocketException | If the size could not be changed. |
|
inherited |
Enable or disable the Nagle algorithm for send coalescing.
| enable | true to enable the Nagle algorithm (TCP_NODELAY off), false to disable it (TCP_NODELAY on). |
| SocketException | If a socket error occurs. |
|
inherited |
Set the timeout for the socket.
The timeout affects both I/O and connections.
| timeout | The timeout, in milliseconds. |
| SocketException | If an error occurs. |
|
virtual |
Shut down the socket.
Closes the connection and destroys the underlying socket object.
Reimplemented from Socket.
|
protectedinherited |
Wait for the socket to become ready for reading or writing.
| mode | The wait mode; one of WaitWrite or WaitRead. |
| IOException | On timeout or other error. |
|
protectedinherited |
The local address.
|
protectedinherited |
The remote address.
|
protectedinherited |
A handle to the socket itself.
|
protectedinherited |
The timeout value.
|
protectedinherited |
The socket type.