Selezionare SOCKS4 in OpenJDK 25 con socksProxyVersion
Usare la proprietà di versione documentata con un endpoint SOCKS esplicito in OpenJDK 25 e tenere conto dell'ambito della proprietà a livello di JVM.
Per l'implementazione dei socket di OpenJDK 25, selezionare SOCKS4 con la proprietà socksProxyVersion. Può essere fornita all'avvio dell'applicazione:
java -DsocksProxyVersion=4 YourApplicationL'applicazione può comunque fornire esplicitamente l'endpoint del proxy:
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);
}Gli indirizzi sono segnaposto. Un indirizzo non autenticato dal elenco di proxy SOCKS4 può riempire l'host e la porta del proxy per un test IPv4 pubblico consentito; usare separatamente l'indirizzo IPv4 e la porta di destinazione effettivi. Questo frammento apre e chiude il flusso TCP; un protocollo applicativo userebbe il flusso connesso all'interno del blocco.
L'implementazione di OpenJDK 25 controlla la proprietà di versione anche quando il costruttore ha ricevuto un normale Proxy SOCKS esplicito. L'oggetto Proxy pubblico contiene di per sé un tipo e un indirizzo, non un campo di versione SOCKS per oggetto.
La proprietà di versione ha ambito a livello di JVM. Se carichi di lavoro concorrenti richiedono versioni SOCKS diverse, non attivarla e disattivarla ripetutamente attorno alle singole richieste. Usare invece un'interfaccia client che supporti la selezione richiesta per connessione. La riflessione privata setV4 dei vecchi esempi JDK non è l'interfaccia di configurazione supportata.