Class CServerTCPSocket
Defined in File CServerTCPSocket.h
Inheritance Relationships
Base Type
public mrpt::system::COutputLogger
Class Documentation
-
class CServerTCPSocket : public mrpt::system::COutputLogger
A TCP socket that can be wait for client connections to enter. Unless otherwise noticed, operations are blocking.
Public Functions
-
CServerTCPSocket(unsigned short listenPort, const std::string &IPaddress = std::string("127.0.0.1"), int maxConnectionsWaiting = 50, mrpt::system::VerbosityLevel verbosityLevel = mrpt::system::LVL_INFO)
Constructor that creates the socket, performs binding, and start listening mode.
See also
- Parameters:
listenPort – The port to bound to.
IPaddress – The interface to bound the socket to. By default is 127.0.0.1 for localhost, for all network interfaces use 0.0.0.0.
maxConnectionsWaiting – Maximum number of incoming connections waiting for “accept” before new ones are rejected. You can check if the socket has been created OK with “isListening”.
- Throws:
std::exception – If there is any error creating the socket, with a textual description of the error.
-
~CServerTCPSocket() override
Dtor
-
bool isListening()
Returns true if the socket was successfully open and it’s bound to the desired port.
-
std::unique_ptr<CClientTCPSocket> accept(int timeout_ms = -1)
Waits for an incoming connection (indefinitely, or with a given timeout) The returned object represents the new connection, and MUST BE deleted by the user when no longer needed.
- Parameters:
timeout_ms – The timeout for the waiting, in milliseconds. Set this to “-1” to disable timeout (i.e. timeout=infinite)
- Returns:
The incoming connection, or nullptr on timeout or error.
-
CServerTCPSocket(unsigned short listenPort, const std::string &IPaddress = std::string("127.0.0.1"), int maxConnectionsWaiting = 50, mrpt::system::VerbosityLevel verbosityLevel = mrpt::system::LVL_INFO)