Výber SOCKS4 v OpenJDK 25 pomocou socksProxyVersion
Použite dokumentovanú vlastnosť verzie s explicitným koncovým bodom SOCKS v OpenJDK 25 a počítajte s pôsobnosťou vlastnosti v celej JVM.
Pre implementáciu soketov v OpenJDK 25 vyberte SOCKS4 pomocou vlastnosti socksProxyVersion. Možno ju zadať pri spúšťaní aplikácie:
java -DsocksProxyVersion=4 YourApplicationApliká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.