Marco Hsu / WIFI_API_32kRAM
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 ()
 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 set_broadcasting (bool broadcast=true)
 Join the multicast group at the given address.
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 close (bool shutdown=true)
 Set socket options.

Detailed Description

UDP Socket.

Definition at line 28 of file UDPSocket.h.


Constructor & Destructor Documentation

UDPSocket (  )

Instantiate an UDP Socket.


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.
int close ( bool  shutdown = true ) [inherited]

Set socket options.

Parameters:
levelstack level (see: lwip/sockets.h)
optnameoption ID
optvaloption value
socklen_tlength of the option value
Returns:
0 on success, -1 on failure Get socket options
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 Close the socket
Parameters:
shutdownfree the left-over data in message queues
int init ( void   )

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

Returns:
0 on success, -1 on failure.
int receiveFrom ( Endpoint &  remote,
char *  buffer,
int  length 
)

Receive a packet from a remote endpoint.

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
int sendTo ( Endpoint &  remote,
char *  packet,
int  length 
)

Send a packet to a remote endpoint.

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
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].
int set_broadcasting ( bool  broadcast = true )

Join the multicast group at the given address.

Parameters:
addressThe address of the multicast group
Returns:
0 on success, -1 on failure. Set the socket in broadcasting mode
0 on success, -1 on failure.