CSFML
Functions
TcpListener.h File Reference
`#include <SFML/Network/Export.h>`
`#include <SFML/Network/SocketStatus.h>`
`#include <SFML/Network/IpAddress.h>`
`#include <SFML/Network/Types.h>`

Go to the source code of this file.

## Functions

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

## Function Documentation

## ◆ sfTcpListener_accept()

CSFML_NETWORK_API 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

  listener | TCP listener object
  connected | Socket that will hold the new connection

Returns
  Status code

## ◆ sfTcpListener_create()

CSFML_NETWORK_API sfTcpListener* sfTcpListener_create | ( | void |  | ) |

Create a new TCP listener.

Returns
  A new sfTcpListener object

## ◆ sfTcpListener_destroy()

CSFML_NETWORK_API void sfTcpListener_destroy | ( | sfTcpListener * | listener | ) |

Destroy a TCP listener.

Parameters

  listener | TCP listener to destroy

## ◆ sfTcpListener_getLocalPort()

CSFML_NETWORK_API 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

  listener | TCP listener object

Returns
  Port to which the TCP listener is bound

## ◆ sfTcpListener_isBlocking()

CSFML_NETWORK_API sfBool sfTcpListener_isBlocking | ( | const sfTcpListener * | listener | ) |

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

Parameters

  listener | TCP listener object

Returns
  sfTrue if the socket is blocking, sfFalse otherwise

## ◆ sfTcpListener_listen()

CSFML_NETWORK_API 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

  listener | TCP listener object
  port | Port to listen for new connections
  address | Address of the interface to listen on

Returns
  Status code

## ◆ sfTcpListener_setBlocking()

CSFML_NETWORK_API 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

  listener | TCP listener object
  blocking | sfTrue to set the socket as blocking, sfFalse for non-blocking