Sample code for 30+ languages & platforms
Visual FoxPro

Socket/SSL/TLS through SOCKS5 / SOCKS4 Proxy

See more Socket/SSL/TLS Examples

Demonstrates how to use the Chilkat Socket/SSL/TLS component/library with a SOCKS5 or SOCKS4 proxy server.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSocket
LOCAL lcHostname
LOCAL lnSsl
LOCAL lnMaxWaitMillisec
LOCAL lcReceivedMsg

lnSuccess = 0

* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loSocket = CreateObject('Chilkat.Socket')

* To use a SOCKS4 or SOCKS5 proxy, simply set the following
* properties prior to calling Connect.  The connection may be SSL/TLS or 
* non-secure - both will work with a SOCKS proxy.
* The SOCKS hostname may be a domain name or 
* IP address:
loSocket.SocksHostname = "www.mysocksproxyserver.com"
loSocket.SocksPort = 1080
loSocket.SocksUsername = "myProxyLogin"
loSocket.SocksPassword = "myProxyPassword"
* Set the SOCKS version to 4 or 5 based on the version
* of the SOCKS proxy server:
loSocket.SocksVersion = 5
* Note: SOCKS4 servers only support usernames without passwords.
* SOCKS5 servers support full login/password authentication.

* Connect to port 5555 of 192.168.1.108.
* hostname may be a domain name or IP address.
lcHostname = "192.168.1.108"
lnSsl = 0
lnMaxWaitMillisec = 20000
lnSuccess = loSocket.Connect(lcHostname,5555,lnSsl,lnMaxWaitMillisec)
IF (lnSuccess <> 1) THEN
    ? loSocket.LastErrorText
    RELEASE loSocket
    CANCEL
ENDIF

* Set maximum timeouts for reading an writing (in millisec)
loSocket.MaxReadIdleMs = 10000
loSocket.MaxSendIdleMs = 10000

* The server (in this example) is going to send a "Hello World!" 
* message.  Read it:
lcReceivedMsg = loSocket.ReceiveString()
IF (loSocket.LastMethodSuccess <> 1) THEN
    ? loSocket.LastErrorText
    RELEASE loSocket
    CANCEL
ENDIF

* Close the connection with the server
* Wait a max of 20 seconds (20000 millsec)
lnSuccess = loSocket.Close(20000)

? lcReceivedMsg

RELEASE loSocket