Loading...
Searching...
No Matches
TcpListener.h File Reference

Go to the source code of this file.

Functions

sfTcpListenersfTcpListener_create (void)
 Create a new TCP listener.
 
void sfTcpListener_destroy (sfTcpListener *listener)
 Destroy a TCP listener.
 
void sfTcpListener_setBlocking (sfTcpListener *listener, sfBool blocking)
 Set the blocking state of a TCP listener.
 
sfBool sfTcpListener_isBlocking (const sfTcpListener *listener)
 Tell whether a TCP listener is in blocking or non-blocking mode.
 
unsigned short sfTcpListener_getLocalPort (const sfTcpListener *listener)
 Get the port to which a TCP listener is bound locally.
 
sfSocketStatus sfTcpListener_listen (sfTcpListener *listener, unsigned short port, sfIpAddress address)
 Start listening for connections.
 
sfSocketStatus sfTcpListener_accept (sfTcpListener *listener, sfTcpSocket **connected)
 Accept a new connection.
 

Function Documentation

◆ sfTcpListener_accept()

sfSocketStatus sfTcpListener_accept ( sfTcpListener listener,
sfTcpSocket **  connected 
)

Accept a new connection.

If the socket is in blocking mode, this function will not return until a connection is actually received.

The connected argument points to a valid sfTcpSocket pointer in case of success (the function returns sfSocketDone), it points to a NULL pointer otherwise.

Parameters
listenerTCP listener object
connectedSocket that will hold the new connection
Returns
Status code

◆ sfTcpListener_create()

sfTcpListener * sfTcpListener_create ( void  )

Create a new TCP listener.

Returns
A new sfTcpListener object

◆ sfTcpListener_destroy()

void sfTcpListener_destroy ( sfTcpListener listener)

Destroy a TCP listener.

Parameters
listenerTCP listener to destroy

◆ sfTcpListener_getLocalPort()

unsigned short sfTcpListener_getLocalPort ( const sfTcpListener listener)

Get the port to which a TCP listener is bound locally.

If the socket is not listening to a port, this function returns 0.

Parameters
listenerTCP listener object
Returns
Port to which the TCP listener is bound

◆ sfTcpListener_isBlocking()

sfBool sfTcpListener_isBlocking ( const sfTcpListener listener)

Tell whether a TCP listener is in blocking or non-blocking mode.

Parameters
listenerTCP listener object
Returns
sfTrue if the socket is blocking, sfFalse otherwise

◆ sfTcpListener_listen()

sfSocketStatus sfTcpListener_listen ( sfTcpListener listener,
unsigned short  port,
sfIpAddress  address 
)

Start listening for connections.

This functions makes the socket listen to the specified port, waiting for new connections. If the socket was previously listening to another port, it will be stopped first and bound to the new port.

If there is no specific address to listen to, pass sfIpAddress_Any

Parameters
listenerTCP listener object
portPort to listen for new connections
addressAddress of the interface to listen on
Returns
Status code

◆ sfTcpListener_setBlocking()

void sfTcpListener_setBlocking ( sfTcpListener listener,
sfBool  blocking 
)

Set the blocking state of a TCP listener.

In blocking mode, calls will not return until they have completed their task. For example, a call to sfTcpListener_accept in blocking mode won't return until a new connection 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.

Parameters
listenerTCP listener object
blockingsfTrue to set the socket as blocking, sfFalse for non-blocking