Az OpenJDK 25 socket-megvalósításához válassza a SOCKS4-et a socksProxyVersion tulajdonsággal. Az alkalmazás indításakor megadható:

java -DsocksProxyVersion=4 YourApplication

Az alkalmazás továbbra is megadhatja explicit módon a proxy végpontját:

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

A címek helyőrzők. Egy hitelesítetlen cím a SOCKS4 proxy listáról kitöltheti a proxy gazdagépét és portját egy engedélyezett nyilvános IPv4-teszthez; a tényleges cél IPv4-címet és portot külön használja. Ez a töredék megnyitja és bezárja a TCP-folyamot; egy alkalmazásprotokoll a blokkon belüli csatlakoztatott folyamot használná.

Az OpenJDK 25 megvalósítása akkor is ellenőrzi a verziótulajdonságot, ha a konstruktor egy közönséges explicit SOCKS Proxy objektumot kapott. A nyilvános Proxy objektum maga típust és címet tartalmaz, nem objektumonkénti SOCKS-verziómezőt.

A verziótulajdonság hatóköre az egész JVM-re kiterjed. Ha az egyidejű munkaterhelések eltérő SOCKS-verziókat igényelnek, ne kapcsolgassa oda-vissza az egyes kérések körül. Használjon inkább olyan kliensfelületet, amely támogatja a szükséges kapcsolatonkénti kiválasztást. A régi JDK-példák privát setV4-reflexiója nem a támogatott konfigurációs felület.

Kapcsolódó cikkek