MODIFIED from mbed official WiflyInterface (interface for Roving Networks Wifly modules). Numerous performance and reliability improvements (see the detailed documentation). Also, tracking changes in mbed official version to retain functional parity.

Dependents:   Smart-WiFly-WebServer PUB_WiflyInterface_Demo

Fork of WiflyInterface by mbed official

Embed: (wiki syntax)

« Back to documentation index

TCPSocketConnection Class Reference

TCPSocketConnection Class Reference

TCP socket connection. More...

#include <TCPSocketConnection.h>

Inherits Socket, and Endpoint.

Public Member Functions

 TCPSocketConnection ()
 TCP socket connection.
int connect (const char *host, const int port)
 Connects this TCP socket to the server.
bool is_connected (void)
 Check if the socket is connected.
int send (const char *data, int length)
 Send data to the remote host.
int send_all (const char *data, int length)
 Send all the data to the remote host.
int receive (char *data, int length)
 Receive data from the remote host.
int receive_all (char *data, int length)
 Receive ALL the data from the remote host.
void set_blocking (bool blocking, unsigned int timeout=1500)
 Set blocking or non-blocking mode of the socket and a timeout on blocking socket operations.
int close ()
 Close the socket file descriptor.
void reset_address (void)
 Reset the address of this endpoint.
int set_address (const char *host, const int port)
 Set the address of this endpoint.
char * get_address (void)
 Get the IP address of this endpoint.
int get_port (void)
 Get the port of this endpoint.

Detailed Description

TCP socket connection.

Definition at line 35 of file TCPSocketConnection.h.


Constructor & Destructor Documentation

TCP socket connection.

Definition at line 22 of file TCPSocketConnection.cpp.


Member Function Documentation

int close (  ) [inherited]

Close the socket file descriptor.

Definition at line 36 of file Socket.cpp.

int connect ( const char *  host,
const int  port 
)

Connects this TCP socket to the server.

Parameters:
hostThe host to connect to. It can either be an IP Address or a hostname that will be resolved with DNS.
portThe host's port to connect to.
Returns:
0 on success, -1 on failure.

Definition at line 24 of file TCPSocketConnection.cpp.

char * get_address ( void   ) [inherited]

Get the IP address of this endpoint.

Returns:
The IP address of this endpoint.

Definition at line 61 of file Endpoint.cpp.

int get_port ( void   ) [inherited]

Get the port of this endpoint.

Returns:
The port of this endpoint

Definition at line 65 of file Endpoint.cpp.

bool is_connected ( void   )

Check if the socket is connected.

Returns:
true if connected, false otherwise.

Definition at line 32 of file TCPSocketConnection.cpp.

int receive ( char *  data,
int  length 
)

Receive data from the remote host.

When non-blocking, it waits up to the timeout for anything to read. When blocking, it does not wait. In either mode, it can receive up to length bytes.

Note:
This can mean that it receives 0 to just a few chars at a time.
Parameters:
dataThe buffer in which to store the data received from the host.
lengthThe maximum length of the buffer.
Returns:
the number of received bytes on success (>=0) or -1 on failure or closed connection.

Definition at line 71 of file TCPSocketConnection.cpp.

int receive_all ( char *  data,
int  length 
)

Receive ALL the data from the remote host.

When non-blocking, it reads everything it can until the timeout. When blocking, it pauses until it has read the prescribed length.

Parameters:
dataThe buffer in which to store the data received from the host.
lengthThe maximum length of the buffer.
Returns:
the number of received bytes on success (>=0) or -1 on failure or closed connection.

Definition at line 98 of file TCPSocketConnection.cpp.

void reset_address ( void   ) [inherited]

Reset the address of this endpoint.

Definition at line 46 of file Endpoint.cpp.

int send ( const char *  data,
int  length 
)

Send data to the remote host.

Parameters:
dataThe buffer to send to the host.
lengthThe length of the buffer to send.
Returns:
the number of written bytes on success (>=0) or -1 on failure

Definition at line 37 of file TCPSocketConnection.cpp.

int send_all ( const char *  data,
int  length 
)

Send all the data to the remote host.

Parameters:
dataThe buffer to send to the host.
lengthThe length of the buffer to send.
Returns:
the number of written bytes on success (>=0) or -1 on failure

Definition at line 55 of file TCPSocketConnection.cpp.

int set_address ( const char *  host,
const int  port 
) [inherited]

Set the address of this endpoint.

Parameters:
hostThe endpoint address (it can either be an IP Address or a hostname that will be resolved with DNS).
portThe endpoint port
Returns:
0 on success, -1 on failure (when an hostname cannot be resolved by DNS).

Definition at line 52 of file Endpoint.cpp.

void set_blocking ( bool  blocking,
unsigned int  timeout = 1500 
) [inherited]

Set blocking or non-blocking mode of the socket and a timeout on blocking socket operations.

Parameters:
blockingtrue for blocking mode, false for non-blocking mode.
timeouttimeout in ms [Default: (1500)ms] when non-blocking.
Note:
if timeout is < 1 msec, it is set to 1 to avoid problems in other parts of the socket interface.

Definition at line 28 of file Socket.cpp.