Velg SOCKS4 i OpenJDK 25 med socksProxyVersion
Bruk den dokumenterte versjonsegenskapen med et eksplisitt SOCKS-endepunkt i OpenJDK 25, og ta høyde for egenskapens JVM-dekkende omfang.
For socket-implementasjonen i OpenJDK 25 velger du SOCKS4 med egenskapen socksProxyVersion. Den kan angis når programmet startes:
java -DsocksProxyVersion=4 YourApplicationProgrammet kan fortsatt angi proxyendepunktet eksplisitt:
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);
}Adressene er plassholdere. En uautentisert adresse fra SOCKS4-proxylisten kan fylle ut proxyens vert og port for en tillatt offentlig IPv4-test; bruk den faktiske mål-IPv4-adressen og porten separat. Dette fragmentet åpner og lukker TCP-strømmen; en applikasjonsprotokoll vil bruke den tilkoblede strømmen inne i blokken.
Implementasjonen i OpenJDK 25 kontrollerer versjonsegenskapen selv når konstruktøren har fått en vanlig eksplisitt SOCKS Proxy. Det offentlige Proxy-objektet inneholder selv en type og adresse, ikke et SOCKS-versjonsfelt per objekt.
Versjonsegenskapen har JVM-dekkende omfang. Hvis samtidige arbeidsbelastninger krever forskjellige SOCKS-versjoner, må du ikke bytte den frem og tilbake rundt individuelle forespørsler. Bruk i stedet et klientgrensesnitt som støtter det nødvendige valget per tilkobling. Privat setV4-refleksjon fra gamle JDK-eksempler er ikke det støttede konfigurasjonsgrensesnittet.