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 ვერსიას, ნუ გადართავთ მას წინ და უკან ცალკეული მოთხოვნების გარშემო. სამაგიეროდ გამოიყენეთ კლიენტის ინტერფეისი, რომელიც მხარს უჭერს საჭირო არჩევანს თითოეული კავშირისთვის. ძველი JDK მაგალითების პირადი setV4 რეფლექსია არ არის მხარდაჭერილი კონფიგურაციის ინტერფეისი.