bitz-server  0.1.6
Public Member Functions | List of all members
socketlibrary::UDPSocket Class Reference

#include <socket.h>

Inheritance diagram for socketlibrary::UDPSocket:
socketlibrary::CommunicatingSocket socketlibrary::Socket

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)
 
- Public Member Functions inherited from socketlibrary::CommunicatingSocket
void connect (const string &foreignAddress, unsigned short foreignPort) throw (SocketException)
 
void send (const void *buffer, int bufferLen) throw (SocketException)
 
int recv (void *buffer, int bufferLen) throw (SocketException)
 
int peek (void *buffer, int bufferLen) throw (SocketException)
 
int readLine (char *buffer, int bufferLen, const char delimiter= '\n') throw (SocketException)
 
string getForeignAddress () throw (SocketException)
 
unsigned short getForeignPort () throw (SocketException)
 
- Public Member Functions inherited from socketlibrary::Socket
 ~Socket ()
 
string getLocalAddress () throw (SocketException)
 
unsigned short getLocalPort () throw (SocketException)
 
void setLocalPort (unsigned short localPort) throw (SocketException)
 
void setLocalAddressAndPort (const string &localAddress, unsigned short localPort=0) throw (SocketException)
 

Additional Inherited Members

- Static Public Member Functions inherited from socketlibrary::Socket
static void cleanUp () throw (SocketException)
 
static unsigned short resolveService (const string &service, const string &protocol="tcp")
 
- Protected Member Functions inherited from socketlibrary::CommunicatingSocket
 CommunicatingSocket (int type, int protocol) throw (SocketException)
 
 CommunicatingSocket (int newSD)
 
- Protected Member Functions inherited from socketlibrary::Socket
 Socket (int type, int protocol) throw (SocketException)
 
 Socket (int sock)
 
- Protected Attributes inherited from socketlibrary::Socket
int sock
 

Detailed Description

UDP socket class

Constructor & Destructor Documentation

socketlibrary::UDPSocket::UDPSocket ( )
throw (SocketException
)

Construct a UDP socket

Exceptions
SocketExceptionthrown if unable to create UDP socket
socketlibrary::UDPSocket::UDPSocket ( unsigned short  localPort)
throw (SocketException
)

Construct a UDP socket with the given local port

Parameters
localPortlocal port
Exceptions
SocketExceptionthrown if unable to create UDP socket
socketlibrary::UDPSocket::UDPSocket ( const string &  localAddress,
unsigned short  localPort 
)
throw (SocketException
)

Construct a UDP socket with the given local port and address

Parameters
localAddresslocal address
localPortlocal port
Exceptions
SocketExceptionthrown if unable to create UDP socket

Member Function Documentation

void socketlibrary::UDPSocket::disconnect ( )
throw (SocketException
)

Unset foreign address and port

Returns
true if disassociation is successful
Exceptions
SocketExceptionthrown if unable to disconnect UDP socket
void socketlibrary::UDPSocket::joinGroup ( const string &  multicastGroup)
throw (SocketException
)

Join the specified multicast group

Parameters
multicastGroupmulticast group address to join
Exceptions
SocketExceptionthrown if unable to join group
void socketlibrary::UDPSocket::leaveGroup ( const string &  multicastGroup)
throw (SocketException
)

Leave the specified multicast group

Parameters
multicastGroupmulticast group address to leave
Exceptions
SocketExceptionthrown if unable to leave group
int socketlibrary::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
bufferbuffer to receive data
bufferLenmaximum number of bytes to receive
sourceAddressaddress of datagram source
sourcePortport of data source
Returns
number of bytes received and -1 for error
Exceptions
SocketExceptionthrown if unable to receive datagram
void socketlibrary::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
bufferbuffer to be written
bufferLennumber of bytes to write
foreignAddressaddress (IP address or name) to send to
foreignPortport number to send to
Returns
true if send is successful
Exceptions
SocketExceptionthrown if unable to send datagram
void socketlibrary::UDPSocket::setMulticastTTL ( unsigned char  multicastTTL)
throw (SocketException
)

Set the multicast TTL

Parameters
multicastTTLmulticast TTL
Exceptions
SocketExceptionthrown if unable to set TTL