Pre implementáciu soketov v OpenJDK 25 vyberte SOCKS4 pomocou vlastnosti socksProxyVersion. Možno ju zadať pri spúšťaní aplikácie:

java -DsocksProxyVersion=4 YourApplication

Aplikácia môže stále explicitne zadať koncový bod proxy:

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

Adresy sú zástupné. Neoverená adresa zo zoznamu proxy SOCKS4 môže vyplniť hostiteľa a port proxy pre povolený verejný test IPv4; skutočnú cieľovú adresu IPv4 a port použite oddelene. Tento fragment otvára a zatvára prúd TCP; protokol aplikácie by použil pripojený prúd vnútri bloku.

Implementácia OpenJDK 25 kontroluje vlastnosť verzie aj vtedy, keď konštruktor dostal bežný explicitný Proxy typu SOCKS. Verejný objekt Proxy sám obsahuje typ a adresu, nie pole verzie SOCKS pre každý objekt.

Vlastnosť verzie má pôsobnosť v celej JVM. Ak súbežné úlohy vyžadujú rôzne verzie SOCKS, neprepínajte ju tam a späť okolo jednotlivých požiadaviek. Namiesto toho použite klientske rozhranie, ktoré podporuje požadovaný výber pre každé spojenie. Súkromná reflexia setV4 zo starých príkladov JDK nie je podporované konfiguračné rozhranie.

Súvisiace články