Para sa implementasyon ng socket ng OpenJDK 25, piliin ang SOCKS4 gamit ang property na socksProxyVersion. Maaari itong ibigay kapag inilunsad ang application:

java -DsocksProxyVersion=4 YourApplication

Maaari pa ring ibigay ng application ang endpoint ng proxy nang tahasan:

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

Ang mga address ay mga placeholder. Ang isang hindi authenticated na address mula sa listahan ng SOCKS4 proxy ay maaaring punan ang host at port ng proxy para sa pinapayagang pampublikong pagsubok ng IPv4; gamitin nang hiwalay ang aktwal na target na IPv4 address at port. Binubuksan at isinasara ng fragment na ito ang TCP stream; gagamitin ng protocol ng application ang konektadong stream sa loob ng block.

Sinusuri ng implementasyon ng OpenJDK 25 ang property ng bersyon kahit natanggap ng constructor ang isang ordinaryong tahasang SOCKS Proxy. Ang pampublikong Proxy object mismo ay naglalaman ng uri at address, hindi isang field ng bersyon ng SOCKS bawat object.

Ang property ng bersyon ay may saklaw sa buong JVM. Kung ang magkasabay na workload ay nangangailangan ng iba't ibang bersyon ng SOCKS, huwag itong i-toggle pabalik-balik sa paligid ng mga indibidwal na kahilingan. Sa halip, gumamit ng client interface na sumusuporta sa kinakailangang pagpili sa bawat koneksyon. Ang pribadong setV4 reflection mula sa mga lumang halimbawa ng JDK ay hindi ang sinusuportahang interface ng configuration.

Kaugnay na mga artikulo