# Class TSocksBlockSocket

Description | Hierarchy | Fields | Methods | Properties

## Unit

blcksock

## Declaration

`type TSocksBlockSocket = class(TBlockSocket)`

## Description

Support for SOCKS4 and SOCKS5 proxy

Layer with definition all necessary properties and functions for implementation SOCKS proxy client. Do not use this class directly.

## Hierarchy

TSocksBlockSocket > TBlockSocket > TObject

## Methods

### Overview

| `constructor Create;`
| `function SocksOpen: Boolean;`
| `function SocksRequest(Cmd: Byte; const IP, Port: string): Boolean;`
| `function SocksResponse: Boolean;`

### Description

| `constructor Create;`

| `function SocksOpen: Boolean;`

Open connection to SOCKS proxy and if SocksUsername is set, do authorisation to proxy. This is needed only in special cases! (it is called internally!)

| `function SocksRequest(Cmd: Byte; const IP, Port: string): Boolean;`

Send specified request to SOCKS proxy. This is needed only in special cases! (it is called internally!)

| `function SocksResponse: Boolean;`

Receive response to previosly sended request. This is needed only in special cases! (it is called internally!)

## Properties

### Overview

| `property SocksIP: string;`
| `property SocksLastError: integer;`
| `property SocksPassword: string;`
| `property SocksPort: string;`
| `property SocksResolver: Boolean;`
| `property SocksTimeout: integer;`
| `property SocksType: TSocksType;`
| `property SocksUsername: string;`
| `property UsingSocks: Boolean;`

### Description

| `property SocksIP: string;`

Address of SOCKS server. If value is empty string, SOCKS support is disabled. Assingning any value to this property enable SOCKS mode. Warning: You cannot combine this mode with HTTP-tunneling mode!

| `property SocksLastError: integer;`

If SOCKS proxy failed, here is error code returned from SOCKS proxy.

| `property SocksPassword: string;`

If you need authorisation on SOCKS server, set password here.

| `property SocksPort: string;`

Port of SOCKS server. Default value is '1080'.

| `property SocksResolver: Boolean;`

If `True`, all symbolic names of target hosts is not translated to IP's locally, but resolving is by SOCKS proxy. Default is `True`.

| `property SocksTimeout: integer;`

Specify timeout for communicatin with SOCKS server. Default is one minute.

| `property SocksType: TSocksType;`

Specify SOCKS type. By default is used SOCKS5, but you can use SOCKS4 too. When you select SOCKS4, then if SocksResolver is enabled, then is used SOCKS4a. Othervise is used pure SOCKS4.

| `property SocksUsername: string;`

If you need authorisation on SOCKS server, set username here.

| `property UsingSocks: Boolean;`

Is `True` when class is using SOCKS proxy.

Generated by PasDoc 0.8.8.2 on 2005-01-19 20:01:17