MFC Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

MFC Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
Diffie-Hellman
DKIM / DomainKey
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

Socket/SSL/TLS through SOCKS5 / SOCKS4 Proxy

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

Downloads:

MS Windows Visual C/C++ Libraries
Linux/CentOS C/C++ Libraries
MAC OS X C/C++ Libraries
Solaris C/C++ Libraries
C++ Builder Libraries
// Needs #include <CkSocket.h>

    CkString strOut;

    CkSocket socket;

    bool success;
    success = socket.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        strOut.append("Failed to unlock component\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  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:
    socket.put_SocksHostname("www.mysocksproxyserver.com");
    socket.put_SocksPort(1080);
    socket.put_SocksUsername("myProxyLogin");
    socket.put_SocksPassword("myProxyPassword");
    //  Set the SOCKS version to 4 or 5 based on the version
    //  of the SOCKS proxy server:
    socket.put_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.
    const char * hostname;
    hostname = "192.168.1.108";
    bool ssl;
    ssl = false;
    long maxWaitMillisec;
    maxWaitMillisec = 20000;
    success = socket.Connect(hostname,5555,ssl,maxWaitMillisec);
    if (success != true) {
        strOut.append(socket.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  Set maximum timeouts for reading an writing (in millisec)
    socket.put_MaxReadIdleMs(10000);
    socket.put_MaxSendIdleMs(10000);

    //  The server (in this example) is going to send a "Hello World!"
    //  message.  Read it:
    const char * receivedMsg;
    receivedMsg = socket.receiveString();
    if (receivedMsg == 0 ) {
        strOut.append(socket.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  Close the connection with the server
    //  Wait a max of 20 seconds (20000 millsec)
    socket.Close(20000);

    strOut.append(receivedMsg);
    strOut.append("\r\n");

    SetDlgItemText(IDC_EDIT1,strOut.getUnicode());

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.