Sample code for 30+ languages & platforms
Dart

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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final socket = CkSocket();

  // 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.socksHostname = 'www.mysocksproxyserver.com';
  socket.socksPort = 1080;
  socket.socksUsername = 'myProxyLogin';
  socket.socksPassword = 'myProxyPassword';
  // Set the SOCKS version to 4 or 5 based on the version
  // of the SOCKS proxy server:
  socket.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.
  final hostname = '192.168.1.108';
  final ssl = false;
  final maxWaitMillisec = 20000;
  try {
    socket.connect(hostname, 5555, ssl, maxWaitMillisec);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Set maximum timeouts for reading an writing (in millisec)
  socket.maxReadIdleMs = 10000;
  socket.maxSendIdleMs = 10000;

  // The server (in this example) is going to send a "Hello World!" 
  // message.  Read it:
  final String receivedMsg;
  try {
    receivedMsg = socket.receiveString();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  print(receivedMsg);
}