Избор на SOCKS4 в OpenJDK 25 със socksProxyVersion
Използвайте документираното свойство за версия с явна SOCKS крайна точка в OpenJDK 25 и отчитайте обхвата на свойството за цялата JVM.
За реализацията на сокети в OpenJDK 25 изберете SOCKS4 чрез свойството socksProxyVersion. То може да се подаде при стартиране на приложението:
java -DsocksProxyVersion=4 YourApplicationПриложението все още може да подаде крайната точка на проксито явно:
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);
}Адресите са заместители. Неудостоверен адрес от списъка със SOCKS4 проксита може да запълни хоста и порта на проксито за разрешен публичен IPv4 тест; използвайте действителния целеви IPv4 адрес и порт отделно. Тази част отваря и затваря TCP потока; приложен протокол би използвал свързания поток вътре в блока.
Реализацията на OpenJDK 25 проверява свойството за версия дори когато конструкторът е получил обикновен явен SOCKS Proxy. Публичният обект Proxy сам съдържа тип и адрес, а не поле за SOCKS версия за всеки обект.
Свойството за версия има обхват за цялата JVM. Ако едновременни натоварвания изискват различни SOCKS версии, не го превключвайте напред-назад около отделни заявки. Вместо това използвайте клиентски интерфейс, който поддържа нужното избиране за всяка връзка. Частната рефлексия setV4 от стари JDK примери не е поддържаният интерфейс за конфигурация.