For socket-implementasjonen i OpenJDK 25 velger du SOCKS4 med egenskapen socksProxyVersion. Den kan angis når programmet startes:

java -DsocksProxyVersion=4 YourApplication

Programmet 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.

Relaterte artikler