Socket Class Reference

#include <PracticalSocket.h>

Inheritance diagram for Socket:

CommunicatingSocket TCPServerSocket TCPSocket UDPSocket

List of all members.

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

Protected Attributes

int sockDesc

Private Member Functions

 Socket (const Socket &sock)
void operator= (const Socket &sock)


Detailed Description

Socket super class

Constructor & Destructor Documentation

Socket::~Socket (  ) 

Close and deallocate this socket

References closesocket, and sockDesc.

Socket::Socket ( const Socket sock  )  [private]

Socket::Socket ( int  type,
int  protocol 
) throw (SocketException) [protected]

Socket::Socket ( int  sockDesc  )  [protected]


Member Function Documentation

string Socket::getLocalAddress (  )  throw (SocketException)

Get the local address

Returns:
local address of socket
Exceptions:
SocketException thrown if fetch fails

References sockDesc.

unsigned short Socket::getLocalPort (  )  throw (SocketException)

Get the local port

Returns:
local port of socket
Exceptions:
SocketException thrown if fetch fails

References sockDesc.

void Socket::setLocalPort ( unsigned short  localPort  )  throw (SocketException)

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

Parameters:
localPort local port
Exceptions:
SocketException thrown if setting local port fails

void 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:
localAddress local address
localPort local port
Exceptions:
SocketException thrown if setting local port or address fails

References fillAddr().

void 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:
buffer buffer to receive the data
bufferLen maximum number of bytes to read into buffer
Returns:
number of bytes read, 0 for EOF, and -1 for error
Exceptions:
SocketException thrown WinSock clean up fails

unsigned short 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:
service service to resolve (e.g., "http")
protocol protocol of service to resolve. Default is "tcp".

void Socket::operator= ( const Socket sock  )  [private]


Member Data Documentation

int Socket::sockDesc [protected]


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

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