Untuk implementasi soket OpenJDK 25, pilih SOCKS4 dengan properti socksProxyVersion. Properti ini dapat diberikan saat meluncurkan aplikasi:

java -DsocksProxyVersion=4 YourApplication

Aplikasi tetap dapat memberikan endpoint proksi secara eksplisit:

Proxy proxy = new Proxy(Proxy.Type.SOCKS,
    new InetSocketAddress("proxy.example", 1080));
try (Socket socket = new Socket(proxy)) {
    socket.connect(new InetSocketAddress("192.0.2.10", 80), 5000);
    socket.setSoTimeout(10000);
}

Alamat-alamat tersebut adalah placeholder. Alamat yang tidak diautentikasi dari daftar proksi SOCKS4 dapat mengisi host dan port proksi untuk uji IPv4 publik yang diizinkan; gunakan alamat IPv4 dan port tujuan yang sebenarnya secara terpisah. Fragmen ini membuka dan menutup aliran TCP; protokol aplikasi akan menggunakan aliran yang terhubung di dalam blok.

Implementasi OpenJDK 25 memeriksa properti versi bahkan ketika konstruktor menerima Proxy SOCKS eksplisit biasa. Objek Proxy publik itu sendiri berisi tipe dan alamat, bukan bidang versi SOCKS per objek.

Properti versi memiliki cakupan seluruh JVM. Jika beban kerja bersamaan memerlukan versi SOCKS yang berbeda, jangan mengalihkannya bolak-balik di sekitar permintaan individual. Sebagai gantinya, gunakan antarmuka klien yang mendukung pemilihan per koneksi yang diperlukan. Refleksi setV4 privat dari contoh JDK lama bukan antarmuka konfigurasi yang didukung.

Artikel terkait