Host library for controlling a WiConnect enabled Wi-Fi module.

Dependents:   wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more

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 (int rxBufferLen=SOCKET_API_DEFAULT_RX_BUFFER_SIZE, void *rxBuffer=NULL, int txBufferLen=SOCKET_API_DEFAULT_TX_BUFFER_SIZE, void *txBuffer=NULL)
 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 (char *data, int length)
 Send data to the remote host.
int send_all (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 set_option (int level, int optname, const void *optval, socklen_t optlen)
 Set socket options.
int get_option (int level, int optname, void *optval, socklen_t *optlen)
 Get socket options.
int close (bool shutdown=true)
 Close the socket.
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.

Friends

class TCPSocketServer

Detailed Description

TCP socket connection.

Definition at line 28 of file TCPSocketConnection.h.


Constructor & Destructor Documentation

TCPSocketConnection ( int  rxBufferLen = SOCKET_API_DEFAULT_RX_BUFFER_SIZE,
void *  rxBuffer = NULL,
int  txBufferLen = SOCKET_API_DEFAULT_TX_BUFFER_SIZE,
void *  txBuffer = NULL 
)

TCP socket connection.

ACKme WiConnect Host Library is licensed under the BSD licence:

Copyright (c)2014 ACKme Networks. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition at line 36 of file TCPSocketConnection.cpp.


Member Function Documentation

int close ( bool  shutdown = true ) [inherited]

Close the socket.

Parameters:
shutdownfree the left-over data in message queues

Definition at line 75 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 42 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 75 of file Endpoint.cpp.

int get_option ( int  level,
int  optname,
void *  optval,
socklen_t *  optlen 
) [inherited]

Get socket options.

Note:
NOT supported in this version.
Parameters:
levelstack level (see: lwip/sockets.h)
optnameoption ID
optvalbuffer pointer where to write the option value
socklen_tlength of the option value
Returns:
0 on success, -1 on failure

Definition at line 69 of file Socket.cpp.

int get_port ( void   ) [inherited]

Get the port of this endpoint.

Returns:
The port of this endpoint

Definition at line 83 of file Endpoint.cpp.

bool is_connected ( void   )

Check if the socket is connected.

Returns:
true if connected, false otherwise.

Definition at line 48 of file TCPSocketConnection.cpp.

int receive ( char *  data,
int  length 
)

Receive data from the remote host.

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

Definition at line 69 of file TCPSocketConnection.cpp.

int receive_all ( char *  data,
int  length 
)

Receive all the data from the remote host.

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

Definition at line 121 of file TCPSocketConnection.cpp.

void reset_address ( void   ) [inherited]

Reset the address of this endpoint.

Definition at line 35 of file Endpoint.cpp.

int send ( 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 56 of file TCPSocketConnection.cpp.

int send_all ( 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 63 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 42 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.

Note:
Currently the blocking/timeout functionality is only supported for 'read' methods
Parameters:
blockingtrue for blocking mode, false for non-blocking mode.
timeouttimeout in ms [Default: (1500)ms].

Definition at line 56 of file Socket.cpp.

int set_option ( int  level,
int  optname,
const void *  optval,
socklen_t  optlen 
) [inherited]

Set socket options.

Note:
NOT supported in this version.
Parameters:
levelstack level (see: lwip/sockets.h)
optnameoption ID
optvaloption value
socklen_tlength of the option value
Returns:
0 on success, -1 on failure

Definition at line 63 of file Socket.cpp.