Za implementaciju soketa u OpenJDK 25 odaberite SOCKS4 pomoću svojstva socksProxyVersion. Ono se može navesti pri pokretanju aplikacije:

java -DsocksProxyVersion=4 YourApplication

Aplikacija i dalje može eksplicitno navesti završnu točku proxyja:

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);
}

Adrese su zamjenske. Neautentificirana adresa s popisa SOCKS4 proxyja može popuniti host i port proxyja za dopušteni javni IPv4 test; stvarnu ciljnu IPv4 adresu i port koristite odvojeno. Ovaj fragment otvara i zatvara TCP tok; aplikacijski protokol koristio bi povezani tok unutar bloka.

Implementacija OpenJDK 25 provjerava svojstvo verzije čak i kada je konstruktor primio običan eksplicitni SOCKS Proxy. Javni Proxy objekt sam sadrži tip i adresu, a ne polje SOCKS verzije po objektu.

Svojstvo verzije ima opseg na razini cijelog JVM-a. Ako paralelna opterećenja zahtijevaju različite SOCKS verzije, ne prebacujte ga naprijed-natrag oko pojedinačnih zahtjeva. Umjesto toga koristite klijentsko sučelje koje podržava potreban odabir po vezi. Privatna setV4 refleksija iz starih JDK primjera nije podržano konfiguracijsko sučelje.

Povezani članci