Επιλογή 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 ελέγχει την ιδιότητα έκδοσης ακόμη και όταν ο κατασκευαστής έλαβε ένα συνηθισμένο ρητό Proxy SOCKS. Το δημόσιο αντικείμενο Proxy περιέχει το ίδιο έναν τύπο και μια διεύθυνση, όχι πεδίο έκδοσης SOCKS ανά αντικείμενο.
Η ιδιότητα έκδοσης έχει εμβέλεια σε όλο το JVM. Αν ταυτόχρονα φορτία εργασίας απαιτούν διαφορετικές εκδόσεις SOCKS, μην την εναλλάσσετε μπρος-πίσω γύρω από μεμονωμένα αιτήματα. Χρησιμοποιήστε αντ' αυτού μια διασύνδεση πελάτη που υποστηρίζει την απαιτούμενη επιλογή ανά σύνδεση. Η ιδιωτική αντανάκλαση setV4 από παλιά παραδείγματα JDK δεν είναι η υποστηριζόμενη διασύνδεση διαμόρφωσης.