UDPSocket Class Reference

#include <PracticalSocket.h>

Inheritance diagram for UDPSocket:

CommunicatingSocket Socket

List of all members.

Public Member Functions

 UDPSocket () throw (SocketException)
 UDPSocket (unsigned short localPort) throw (SocketException)
 UDPSocket (const string &localAddress, unsigned short localPort) throw (SocketException)
void disconnect () throw (SocketException)
void sendTo (const void *buffer, int bufferLen, const string &foreignAddress, unsigned short foreignPort) throw (SocketException)
int recvFrom (void *buffer, int bufferLen, string &sourceAddress, unsigned short &sourcePort) throw (SocketException)
void setMulticastTTL (unsigned char multicastTTL) throw (SocketException)
void joinGroup (const string &multicastGroup) throw (SocketException)
void leaveGroup (const string &multicastGroup) throw (SocketException)

Private Member Functions

void setBroadcast ()


Detailed Description

UDP socket class

Constructor & Destructor Documentation

UDPSocket::UDPSocket (  )  throw (SocketException)

Construct a UDP socket

Exceptions:
SocketException thrown if unable to create UDP socket

References setBroadcast().

UDPSocket::UDPSocket ( unsigned short  localPort  )  throw (SocketException)

Construct a UDP socket with the given local port

Parameters:
localPort local port
Exceptions:
SocketException thrown if unable to create UDP socket

UDPSocket::UDPSocket ( const string &  localAddress,
unsigned short  localPort 
) throw (SocketException)

Construct a UDP socket with the given local port and address

Parameters:
localAddress local address
localPort local port
Exceptions:
SocketException thrown if unable to create UDP socket


Member Function Documentation

void UDPSocket::disconnect (  )  throw (SocketException)

Unset foreign address and port

Returns:
true if disassociation is successful
Exceptions:
SocketException thrown if unable to disconnect UDP socket

References CommunicatingSocket::connect(), and Socket::sockDesc.

void UDPSocket::sendTo ( const void *  buffer,
int  bufferLen,
const string &  foreignAddress,
unsigned short  foreignPort 
) throw (SocketException)

Send the given buffer as a UDP datagram to the specified address/port

Parameters:
buffer buffer to be written
bufferLen number of bytes to write
foreignAddress address (IP address or name) to send to
foreignPort port number to send to
Returns:
true if send is successful
Exceptions:
SocketException thrown if unable to send datagram

References fillAddr(), and Socket::sockDesc.

Referenced by Controller::get_remote_data().

int UDPSocket::recvFrom ( void *  buffer,
int  bufferLen,
string &  sourceAddress,
unsigned short &  sourcePort 
) throw (SocketException)

Read read up to bufferLen bytes data from this socket. The given buffer is where the data will be placed

Parameters:
buffer buffer to receive data
bufferLen maximum number of bytes to receive
sourceAddress address of datagram source
sourcePort port of data source
Returns:
number of bytes received and -1 for error
Exceptions:
SocketException thrown if unable to receive datagram

References Socket::sockDesc.

Referenced by Controller::get_remote_data().

void UDPSocket::setMulticastTTL ( unsigned char  multicastTTL  )  throw (SocketException)

Set the multicast TTL

Parameters:
multicastTTL multicast TTL
Exceptions:
SocketException thrown if unable to set TTL

References Socket::sockDesc.

void UDPSocket::joinGroup ( const string &  multicastGroup  )  throw (SocketException)

Join the specified multicast group

Parameters:
multicastGroup multicast group address to join
Exceptions:
SocketException thrown if unable to join group

References Socket::sockDesc.

void UDPSocket::leaveGroup ( const string &  multicastGroup  )  throw (SocketException)

Leave the specified multicast group

Parameters:
multicastGroup multicast group address to leave
Exceptions:
SocketException thrown if unable to leave group

References Socket::sockDesc.

void UDPSocket::setBroadcast (  )  [private]

References Socket::sockDesc.

Referenced by UDPSocket().


The documentation for this class was generated from the following files:

Generated on Thu Sep 17 23:14:17 2009 for CSL by  doxygen 1.5.8