Main MRPT website > C++ reference
MRPT logo
Public Member Functions | Private Member Functions | Private Attributes

mrpt::utils::CServerTCPSocket Class Reference


Detailed Description

A TCP socket that can be wait for client connections to enter.

Unless otherwise noticed, operations are blocking.

Definition at line 46 of file CServerTCPSocket.h.

#include <mrpt/utils/CServerTCPSocket.h>

Inheritance diagram for mrpt::utils::CServerTCPSocket:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CServerTCPSocket (unsigned short listenPort, const std::string &IPaddress=std::string("127.0.0.1"), int maxConnectionsWaiting=50, bool verbose=false)
 Constructor that creates the socket, performs binding, and start listening mode.
 ~CServerTCPSocket ()
 Destructor.
bool isListening ()
 Returns true if the socket was successfully open and it's bound to the desired port.
CClientTCPSocketaccept (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.

Private Member Functions

std::string getLastErrorStr ()
 Returns a description of the last error.
void setupSocket (unsigned short listenPort, const std::string &IPaddress, int maxConnectionsWaiting)
 Common code called from the platform-dependant constructor.

Private Attributes

int m_serverSock
 The handle for the listening server TCP socket.
bool m_verbose

Constructor & Destructor Documentation

mrpt::utils::CServerTCPSocket::CServerTCPSocket ( unsigned short  listenPort,
const std::string &  IPaddress = std::string("127.0.0.1"),
int  maxConnectionsWaiting = 50,
bool  verbose = false 
)

Constructor that creates the socket, performs binding, and start listening mode.

Parameters:
listenPort The port to bound to.
IPaddress The interface to bound the socket to. By default 127.0.0.1 implies listening at all network interfaces.
maxConnectionsWaiting Maximum number of incoming connections waiting for "accept" before new ones are rejected.
verbose Whether to dump state information to the output defined in the utils::CDebugOutputCapable interface. You can check if the socket has been created OK with "isListening".
See also:
isListening
Exceptions:
std::exception If there is any error creating the socket, with a textual description of the error.
mrpt::utils::CServerTCPSocket::~CServerTCPSocket (  ) 

Destructor.


Member Function Documentation

CClientTCPSocket* mrpt::utils::CServerTCPSocket::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 NULL on timeout or error.
std::string mrpt::utils::CServerTCPSocket::getLastErrorStr (  )  [private]

Returns a description of the last error.

bool mrpt::utils::CServerTCPSocket::isListening (  ) 

Returns true if the socket was successfully open and it's bound to the desired port.

void mrpt::utils::CServerTCPSocket::setupSocket ( unsigned short  listenPort,
const std::string &  IPaddress,
int  maxConnectionsWaiting 
) [private]

Common code called from the platform-dependant constructor.


Member Data Documentation

The handle for the listening server TCP socket.

Definition at line 57 of file CServerTCPSocket.h.

Definition at line 63 of file CServerTCPSocket.h.




Page generated by Doxygen 1.7.1 for MRPT 0.9.4 SVN: at Mon Jan 10 23:33:19 UTC 2011