control_socket.connect( new InetSocketAddress( socks_host, socks_port ));
DataOutputStream dos = new DataOutputStream( new BufferedOutputStream( control_socket.getOutputStream(), 256 ));
DataInputStream dis = new DataInputStream( control_socket.getInputStream());
dos.writeByte( (byte)5 ); // socks 5
dos.writeByte( (byte)2 ); // 2 methods
dos.writeByte( (byte)0 ); // no auth
dos.writeByte( (byte)2 ); // user/pw
dos.flush();