#include <PracticalSocket.h>
Inheritance diagram for Socket:
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) |
Socket::~Socket | ( | ) |
Close and deallocate this socket
Socket::Socket | ( | const Socket & | sock | ) | [private] |
Socket::Socket | ( | int | type, | |
int | protocol | |||
) | throw (SocketException) [protected] |
Socket::Socket | ( | int | sockDesc | ) | [protected] |
string Socket::getLocalAddress | ( | ) | throw (SocketException) |
Get the local address
SocketException | thrown if fetch fails |
unsigned short Socket::getLocalPort | ( | ) | throw (SocketException) |
void Socket::setLocalPort | ( | unsigned short | localPort | ) | throw (SocketException) |
Set the local port to the specified port and the local address to any interface
localPort | local port |
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.
localAddress | local address | |
localPort | local port |
SocketException | thrown if setting local port or address fails |
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.
buffer | buffer to receive the data | |
bufferLen | maximum number of bytes to read into buffer |
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
service | service to resolve (e.g., "http") | |
protocol | protocol of service to resolve. Default is "tcp". |
void Socket::operator= | ( | const Socket & | sock | ) | [private] |
int Socket::sockDesc [protected] |