scim 1.4.18
scim::SocketServer Class Reference

Socket Server class. More...

#include <scim_socket.h>

Public Member Functions

 SocketServer (int max_clients=-1)
 Default constructor, do nothing.
 
 SocketServer (const SocketAddress &address, int max_clients=-1)
 Constructor.
 
 ~SocketServer ()
 Destructor.
 
bool valid () const
 Test if the server is valid.
 
bool create (const SocketAddress &address)
 Create a socket on an address.
 
bool run ()
 Run the server.
 
bool is_running () const
 Check if the server is running.
 
void shutdown ()
 Shutdown the server.
 
bool close_connection (const Socket &socket)
 Close a client connection.
 
int get_error_number () const
 Get the number of the last occurred error.
 
String get_error_message () const
 Get the message of the last occurred error.
 
int get_max_clients () const
 Get the max number of socket clients.
 
void set_max_clients (int max_clients)
 Set the max number of clients.
 
bool insert_external_socket (const Socket &sock)
 Insert an external socket into the main loop.
 
bool remove_external_socket (const Socket &sock)
 Remove an external socket which was inserted by insert_external_socket ().
 
Connection signal_connect_accept (SocketServerSlotSocket *slot)
 Connect a slot to socket accept signal.
 
Connection signal_connect_receive (SocketServerSlotSocket *slot)
 Connect a slot to socket receive signal.
 
Connection signal_connect_exception (SocketServerSlotSocket *slot)
 Connect a slot to socket exception signal.
 

Detailed Description

Socket Server class.

Class SocketServer provides basic operations to create a Socket Server, such as create, run etc.

Constructor & Destructor Documentation

◆ SocketServer() [1/2]

scim::SocketServer::SocketServer ( int max_clients = -1)

Default constructor, do nothing.

◆ SocketServer() [2/2]

scim::SocketServer::SocketServer ( const SocketAddress & address,
int max_clients = -1 )

Constructor.

Parameters
addresscreate a server on this address.
max_clientsthe max number of socket clients, -1 means unlimited.

◆ ~SocketServer()

scim::SocketServer::~SocketServer ( )

Destructor.

Member Function Documentation

◆ valid()

bool scim::SocketServer::valid ( ) const

Test if the server is valid.

Returns
true if the socket server is valid and ready to run.

◆ create()

bool scim::SocketServer::create ( const SocketAddress & address)

Create a socket on an address.

Parameters
addressthe address to be listen.
Returns
true if OK.

◆ run()

bool scim::SocketServer::run ( )

Run the server.

Returns
true if it ran successfully.

◆ is_running()

bool scim::SocketServer::is_running ( ) const

Check if the server is running.

Returns
true if it's running.

◆ shutdown()

void scim::SocketServer::shutdown ( )

Shutdown the server.

◆ close_connection()

bool scim::SocketServer::close_connection ( const Socket & socket)

Close a client connection.

Parameters
socketthe client socket object to be closed.
Returns
true if the socket was closed successfully.

◆ get_error_number()

int scim::SocketServer::get_error_number ( ) const

Get the number of the last occurred error.

Returns
the standard errno value.

◆ get_error_message()

String scim::SocketServer::get_error_message ( ) const

Get the message of the last occurred error.

Returns
the error message corresponding to the errno.

◆ get_max_clients()

int scim::SocketServer::get_max_clients ( ) const

Get the max number of socket clients.

Returns
the max number of socket clients allowed to connect this server.

◆ set_max_clients()

void scim::SocketServer::set_max_clients ( int max_clients)

Set the max number of clients.

Parameters
max_clientsthe max number of socket clients allowed to connect this server.

◆ insert_external_socket()

bool scim::SocketServer::insert_external_socket ( const Socket & sock)

Insert an external socket into the main loop.

If data is available on this socket, then the receive signal will be emitted.

Parameters
sockThe external socket to be inserted.
Returns
true if the socket is valid.

◆ remove_external_socket()

bool scim::SocketServer::remove_external_socket ( const Socket & sock)

Remove an external socket which was inserted by insert_external_socket ().

Parameters
sockThe external socket to be removed.
Returns
true if the socket is valid and has been removed successfully.

◆ signal_connect_accept()

Connection scim::SocketServer::signal_connect_accept ( SocketServerSlotSocket * slot)

Connect a slot to socket accept signal.

Connect a slot to socket accept signal, if a client connection is accepted, this signal will be emitted.

Parameters
slotthe slot to be connected to this signal.
Returns
the Connection object of this slot-signal connection, can be used to disconnect the slot later.

◆ signal_connect_receive()

Connection scim::SocketServer::signal_connect_receive ( SocketServerSlotSocket * slot)

Connect a slot to socket receive signal.

Connect a slot to socket receive signal, if a client send data to this server, this signal will be emitted.

Parameters
slotthe slot to be connected to this signal.
Returns
the Connection object of this slot-signal connection, can be used to disconnect the slot later.

◆ signal_connect_exception()

Connection scim::SocketServer::signal_connect_exception ( SocketServerSlotSocket * slot)

Connect a slot to socket exception signal.

Connect a slot to socket exception signal, if an exception was occurred to a client connection, this signal will be emitted.

Parameters
slotthe slot to be connected to this signal.
Returns
the Connection object of this slot-signal connection, can be used to disconnect the slot later.

The documentation for this class was generated from the following file: