# PSocksProtocol Class Reference

Base class for implementing the SOCKS protocol for use with PSocksSocket and PSocksUDPSocket. More...

`#include <socks.h>`

Inheritance diagram for PSocksProtocol:

List of all members.

## Public Types

| DefaultServerPort = 1080
enum | { DefaultServerPort = 1080 }

## Public Member Functions

| PSocksProtocol (WORD port)
virtual | ~PSocksProtocol ()
PBoolean | SetServer (const PString &hostname, const char *service="socks 1080")
PBoolean | SetServer (const PString &hostname, WORD port)
void | SetAuthentication (const PString &username, const PString &password)
| Set the username and password for the SOCKS server authentication.

## Protected Member Functions

PBoolean | ConnectSocksServer (PTCPSocket &thisSocket)
virtual void | SetErrorCodes (PChannel::Errors errCode, int osErr)=0
virtual PBoolean | SendSocksCommand (PTCPSocket &socket, BYTE command, const char *hostname, PIPSocket::Address addr)
virtual PBoolean | ReceiveSocksResponse (PTCPSocket &socket, PIPSocket::Address &addr, WORD &port)

## Protected Attributes

PString | serverHost
WORD | serverPort
PString | authenticationUsername
PString | authenticationPassword
PIPSocket::Address | remoteAddress
WORD | remotePort
PIPSocket::Address | localAddress
WORD | localPort

## Detailed Description

Base class for implementing the SOCKS protocol for use with PSocksSocket and PSocksUDPSocket.

## Member Enumeration Documentation

anonymous enum

Enumerator:

  DefaultServerPort |

## Constructor & Destructor Documentation

PSocksProtocol::PSocksProtocol | ( | WORD | port | ) |

virtual PSocksProtocol::~PSocksProtocol | ( |  | ) | `[inline, virtual]`

## Member Function Documentation

PBoolean PSocksProtocol::ConnectSocksServer | ( | PTCPSocket & | thisSocket | ) | `[protected]`

virtual PBoolean PSocksProtocol::ReceiveSocksResponse | ( | PTCPSocket & | socket,
|  | PIPSocket::Address & | addr,
|  | WORD & | port |
| ) |  |  | `[protected, virtual]`

Reimplemented in PSocks4Socket.

virtual PBoolean PSocksProtocol::SendSocksCommand | ( | PTCPSocket & | socket,
|  | BYTE | command,
|  | const char * | hostname,
|  | PIPSocket::Address | addr |
| ) |  |  | `[protected, virtual]`

Reimplemented in PSocks4Socket.

void PSocksProtocol::SetAuthentication | ( | const PString & | username,
|  | const PString & | password |
| ) |  |  |

Set the username and password for the SOCKS server authentication.

This is for the cleartext authentication only, GSSAPI, Kerberos etc is not yet supported.

virtual void PSocksProtocol::SetErrorCodes | ( | PChannel::Errors | errCode,
|  | int | osErr |
| ) |  |  | `[protected, pure virtual]`

Implemented in PSocksSocket, and PSocksUDPSocket.

PBoolean PSocksProtocol::SetServer | ( | const PString & | hostname,
|  | WORD | port |
| ) |  |  |

PBoolean PSocksProtocol::SetServer | ( | const PString & | hostname,
|  | const char * | service = `"socks 1080"` |
| ) |  |  |

## Member Data Documentation

PString PSocksProtocol::authenticationPassword `[protected]`

PString PSocksProtocol::authenticationUsername `[protected]`

PIPSocket::Address PSocksProtocol::localAddress `[protected]`

WORD PSocksProtocol::localPort `[protected]`

PIPSocket::Address PSocksProtocol::remoteAddress `[protected]`

WORD PSocksProtocol::remotePort `[protected]`

PString PSocksProtocol::serverHost `[protected]`

WORD PSocksProtocol::serverPort `[protected]`

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

- socks.h