Main MRPT website > C++ reference
MRPT logo
Public Member Functions | Static 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.

#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.

Static Public Member Functions

static void printf_debug (const char *frmt,...)
 Sends a formated text to "debugOut" if not NULL, or to cout otherwise.

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:
listenPortThe port to bound to.
IPaddressThe interface to bound the socket to. By default 127.0.0.1 implies listening at all network interfaces.
maxConnectionsWaitingMaximum number of incoming connections waiting for "accept" before new ones are rejected.
verboseWhether 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::exceptionIf 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_msThe 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.

static void mrpt::utils::CDebugOutputCapable::printf_debug ( const char *  frmt,
  ... 
) [static, inherited]

Sends a formated text to "debugOut" if not NULL, or to cout otherwise.

Referenced by mrpt::math::CLevenbergMarquardtTempl::execute().

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 58 of file CServerTCPSocket.h.

Definition at line 64 of file CServerTCPSocket.h.




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011