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

UDPSocket Class Reference

UDPSocket Class Reference

UDP Socket. More...

#include <UDPSocket.h>

Inherits Socket.

Public Member Functions

 UDPSocket (int rxBufferLen=SOCKET_API_DEFAULT_RX_BUFFER_SIZE, void *rxBuffer=NULL, int txBufferLen=SOCKET_API_DEFAULT_TX_BUFFER_SIZE, void *txBuffer=NULL)
 Instantiate an UDP Socket.
int init (void)
 Init the UDP Client Socket without binding it to any specific port.
int bind (int port)
 Bind a UDP Server Socket to a specific port.
int join_multicast_group (const char *address)
 Join the multicast group at the given address.
int set_broadcasting (bool broadcast=true)
 Set the socket in broadcasting mode.
int sendTo (Endpoint &remote, char *packet, int length)
 Send a packet to a remote endpoint.
int receiveFrom (Endpoint &remote, char *buffer, int length)
 Receive a packet from a remote endpoint.
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.

Detailed Description

UDP Socket.

Definition at line 28 of file UDPSocket.h.


Constructor & Destructor Documentation

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

Instantiate an UDP Socket.

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 UDPSocket.cpp.


Member Function Documentation

int bind ( int  port )

Bind a UDP Server Socket to a specific port.

Parameters:
portThe port to listen for incoming connections on
Returns:
0 on success, -1 on failure.

Definition at line 49 of file UDPSocket.cpp.

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 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 init ( void   )

Init the UDP Client Socket without binding it to any specific port.

Returns:
0 on success, -1 on failure.

Definition at line 42 of file UDPSocket.cpp.

int join_multicast_group ( const char *  address )

Join the multicast group at the given address.

Note:
This is not currently supported.
Parameters:
addressThe address of the multicast group
Returns:
0 on success, -1 on failure.

Definition at line 56 of file UDPSocket.cpp.

int receiveFrom ( Endpoint remote,
char *  buffer,
int  length 
)

Receive a packet from a remote endpoint.

Note:
Currently only one remote client address is supported
Parameters:
remoteThe remote endpoint
bufferThe buffer for storing the incoming packet data. If a packet is too long to fit in the supplied buffer, excess bytes are discarded
lengthThe length of the buffer
Returns:
the number of received bytes on success (>=0) or -1 on failure

Definition at line 83 of file UDPSocket.cpp.

int sendTo ( Endpoint remote,
char *  packet,
int  length 
)

Send a packet to a remote endpoint.

Note:
Currently only one remote client address is supported
Parameters:
remoteThe remote endpoint
packetThe packet to be sent
lengthThe length of the packet to be sent
Returns:
the number of written bytes on success (>=0) or -1 on failure

Definition at line 69 of file UDPSocket.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_broadcasting ( bool  broadcast = true )

Set the socket in broadcasting mode.

Note:
Broadcasting is always enabled, so this doesn't do anything useful.
Returns:
0 on success, -1 on failure.

Definition at line 62 of file UDPSocket.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.