OpenJDK 25 lizdų įgyvendinimui pasirinkite SOCKS4 naudodami ypatybę socksProxyVersion. Ją galima nurodyti paleidžiant programą:

java -DsocksProxyVersion=4 YourApplication

Programa vis tiek gali aiškiai nurodyti tarpinio serverio galinį tašką:

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

Adresai yra vietos žymekliai. Nepatvirtintas adresas iš SOCKS4 tarpinių serverių sąrašo gali užpildyti tarpinio serverio mazgą ir prievadą leidžiamam viešam IPv4 testui; naudokite tikrąjį tikslinį IPv4 adresą ir prievadą atskirai. Šis fragmentas atidaro ir uždaro TCP srautą; programos protokolas naudotų prijungtą srautą bloko viduje.

OpenJDK 25 įgyvendinimas tikrina versijos ypatybę net tada, kai konstruktorius gavo įprastą aiškų SOCKS Proxy. Viešasis Proxy objektas pats turi tipą ir adresą, o ne kiekvieno objekto SOCKS versijos lauką.

Versijos ypatybė galioja visoje JVM. Jei lygiagretūs darbo krūviai reikalauja skirtingų SOCKS versijų, neperjunkite jos pirmyn ir atgal aplink atskirus užklausimus. Vietoj to naudokite kliento sąsają, kuri palaiko reikiamą pasirinkimą kiekvienam ryšiui. Privatus setV4 atspindys iš senų JDK pavyzdžių nėra palaikoma konfigūravimo sąsaja.

Susiję straipsniai