bitz-server  0.1.6
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
socketlibrary::Socket Class Reference

#include <socket.h>

Inheritance diagram for socketlibrary::Socket:
socketlibrary::CommunicatingSocket socketlibrary::TCPServerSocket socketlibrary::TCPSocket socketlibrary::UDPSocket socketlibrary::TCPServerSocketM

Public Member Functions

 ~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)
 

Static Public Member Functions

static void cleanUp () throw (SocketException)
 
static unsigned short resolveService (const string &service, const string &protocol="tcp")
 

Protected Member Functions

 Socket (int type, int protocol) throw (SocketException)
 
 Socket (int sock)
 

Protected Attributes

int sock
 

Detailed Description

Base class representing basic communication endpoint

Constructor & Destructor Documentation

socketlibrary::Socket::~Socket ( )

Close and deallocate this socket

Member Function Documentation

void socketlibrary::Socket::cleanUp ( )
throw (SocketException
)
static

If WinSock, unload the WinSock DLLs; otherwise do nothing. We ignore this in our sample client code but include it in the library for completeness. If you are running on Windows and you are concerned about DLL resource consumption, call this after you are done with all Socket instances. If you execute this on Windows while some instance of Socket exists, you are toast. For portability of client code, this is an empty function on non-Windows platforms so you can always include it.

Parameters
bufferbuffer to receive the data
bufferLenmaximum number of bytes to read into buffer
Returns
number of bytes read, 0 for EOF, and -1 for error
Exceptions
SocketExceptionthrown WinSock clean up fails
string socketlibrary::Socket::getLocalAddress ( )
throw (SocketException
)

Get the local address

Returns
local address of socket
Exceptions
SocketExceptionthrown if fetch fails
unsigned short socketlibrary::Socket::getLocalPort ( )
throw (SocketException
)

Get the local port

Returns
local port of socket
Exceptions
SocketExceptionthrown if fetch fails
unsigned short socketlibrary::Socket::resolveService ( const string &  service,
const string &  protocol = "tcp" 
)
static

Resolve the specified service for the specified protocol to the corresponding port number in host byte order

Parameters
serviceservice to resolve (e.g., "http")
protocolprotocol of service to resolve. Default is "tcp".
void socketlibrary::Socket::setLocalAddressAndPort ( const string &  localAddress,
unsigned short  localPort = 0 
)
throw (SocketException
)

Set the local port to the specified port and the local address to the specified address. If you omit the port, a random port will be selected.

Parameters
localAddresslocal address
localPortlocal port
Exceptions
SocketExceptionthrown if setting local port or address fails
void socketlibrary::Socket::setLocalPort ( unsigned short  localPort)
throw (SocketException
)

Set the local port to the specified port and the local address to any interface

Parameters
localPortlocal port
Exceptions
SocketExceptionthrown if setting local port fails