Pro implementaci soketů v OpenJDK 25 vyberte SOCKS4 pomocí vlastnosti socksProxyVersion. Lze ji zadat při spouštění aplikace:

java -DsocksProxyVersion=4 YourApplication

Aplikace může stále explicitně zadat 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 jsou zástupné. Neověřená adresa z seznamu proxy SOCKS4 může vyplnit hostitele a port proxy pro povolený veřejný test IPv4; skutečnou cílovou adresu IPv4 a port použijte zvlášť. Tento fragment otevírá a zavírá proud TCP; protokol aplikace by použil připojený proud uvnitř bloku.

Implementace OpenJDK 25 kontroluje vlastnost verze, i když konstruktor obdržel běžný explicitní Proxy typu SOCKS. Veřejný objekt Proxy sám obsahuje typ a adresu, nikoli pole verze SOCKS pro každý objekt.

Vlastnost verze má působnost v rámci celé JVM. Pokud souběžné úlohy vyžadují různé verze SOCKS, nepřepínejte ji tam a zpět kolem jednotlivých požadavků. Místo toho použijte klientské rozhraní, které podporuje požadovaný výběr pro každé spojení. Soukromá reflexe setV4 ze starých příkladů JDK není podporované konfigurační rozhraní.

Související články