OpenJDK 25 တွင် socksProxyVersion ဖြင့် SOCKS4 ရွေးချယ်ခြင်း
OpenJDK 25 တွင် ရှင်းလင်းသော SOCKS အဆုံးမှတ်နှင့်အတူ မှတ်တမ်းတင်ထားသော ဗားရှင်းဂုဏ်သတ္တိကို အသုံးပြုပြီး ဂုဏ်သတ္တိ၏ JVM တစ်ခုလုံး အတိုင်းအတာကို ထည့်သွင်းစဉ်းစားပါ။
OpenJDK 25 ၏ socket အကောင်အထည်ဖော်မှုအတွက် socksProxyVersion ဂုဏ်သတ္တိဖြင့် SOCKS4 ကို ရွေးပါ။ အက်ပ်ကို စတင်သောအခါ ပေးနိုင်သည်-
java -DsocksProxyVersion=4 YourApplicationအက်ပ်သည် 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);
}လိပ်စာများသည် နေရာယူထားသူများဖြစ်သည်။ SOCKS4 proxy စာရင်းမှ အတည်ပြုမထားသော လိပ်စာသည် ခွင့်ပြုထားသော အများသူငှာ IPv4 စမ်းသပ်မှုအတွက် proxy host နှင့် port ကို ဖြည့်နိုင်သည်။ အမှန်တကယ် ပစ်မှတ် IPv4 လိပ်စာနှင့် port ကို သီးခြား အသုံးပြုပါ။ ဤအပိုင်းသည် TCP stream ကို ဖွင့်ပြီး ပိတ်သည်။ အက်ပ် ပရိုတိုကော်သည် block အတွင်းရှိ ချိတ်ဆက်ထားသော stream ကို အသုံးပြုမည်။
OpenJDK 25 ၏ အကောင်အထည်ဖော်မှုသည် constructor သည် သာမန် ရှင်းလင်းသော SOCKS Proxy ကို လက်ခံရရှိသည့်တိုင် ဗားရှင်းဂုဏ်သတ္တိကို စစ်ဆေးသည်။ အများသူငှာ Proxy object ကိုယ်တိုင်တွင် အမျိုးအစားနှင့် လိပ်စာ ပါဝင်သည်၊ object တစ်ခုစီအတွက် SOCKS ဗားရှင်း အကွက်မဟုတ်ပါ။
ဗားရှင်းဂုဏ်သတ္တိသည် JVM တစ်ခုလုံး အတိုင်းအတာရှိသည်။ တစ်ပြိုင်နက် လုပ်ငန်းဝန်များက မတူညီသော SOCKS ဗားရှင်းများ လိုအပ်ပါက တစ်ဦးချင်း တောင်းဆိုမှုများ ပတ်လည်တွင် ၎င်းကို အလှည့်ကျ မပြောင်းပါနှင့်။ အစား လိုအပ်သော ချိတ်ဆက်မှုတစ်ခုစီအတွက် ရွေးချယ်မှုကို ပံ့ပိုးသော client interface ကို အသုံးပြုပါ။ JDK ဥပမာဟောင်းများမှ သီးသန့် setV4 ရောင်ပြန်ဟပ်မှုသည် ပံ့ပိုးထားသော configuration interface မဟုတ်ပါ။