ហេតុអ្វីបានជា Java ជ្រើសរើស SOCKS proxy សម្រាប់សំណើ HTTP របស់អ្នក
ពិនិត្យលទ្ធផល ProxySelector និងការកំណត់ JVM ដែលមានប្រសិទ្ធភាព មុនពេលអនុវត្តដំណោះស្រាយ proxy ចាស់របស់ Windows។
សំណើ Java អាចជួបប្រទះនឹងប្រភព proxy ជាច្រើន៖ ការកំណត់អតិថិជនច្បាស់លាស់ កម្មវិធីជ្រើសរើសលំនាំដើម លក្ខណៈសម្បត្តិបណ្តាញ JVM និងការកំណត់ប្រព័ន្ធប្រតិបត្តិការដែលគាំទ្រ។ នៅពេលកំណត់ហេតុនិយាយអំពី SOCKS ដោយមិនរំពឹងទុក សូមកំណត់ថាតើប្រភពណាដែលបានជ្រើសរើសវា។
សម្រាប់កូដដែលប្រើកម្មវិធីជ្រើសរើសលំនាំដើម សូមពិនិត្យការសម្រេចចិត្តសម្រាប់គោលដៅជាក់លាក់៖
URI target = URI.create("https://example.com/");
ProxySelector selector = ProxySelector.getDefault();
if (selector != null) {
System.out.println(selector.select(target));
}
វារាយបញ្ជីបេក្ខជនរបស់កម្មវិធីជ្រើសរើស។ វាមិនបញ្ជាក់ថាតើការតភ្ជាប់ណាដែលបានជោគជ័យចុងក្រោយនោះទេ ហើយអតិថិជនដែលមានផ្លូវច្បាស់លាស់ផ្ទាល់ខ្លួនអាចជ្រើសរើសខុសគ្នា។
ពិនិត្យការកំណត់ដែលមានប្រសិទ្ធភាព
ពិនិត្យ http.proxyHost, https.proxyHost, socksProxyHost, ច្រករបស់ពួកវា និង java.net.useSystemProxies។ ឯកសារលក្ខណៈសម្បត្តិបណ្តាញ JDK ពិពណ៌នាអំពីវិសាលភាព និងអាទិភាពរបស់ពួកវា។ ការរកឃើញ proxy ប្រព័ន្ធត្រូវបានពិនិត្យនៅពេលចាប់ផ្តើម។ កំណត់វាដោយចេតនានៅពេលចាប់ផ្តើម JVM។
ចម្លើយប្រវត្តិសាស្ត្រពិពណ៌នាអំពីការរួមបញ្ចូលជាក់លាក់នៃវិនដូ Windows ចាស់ និង JDK ចាស់។ របាយការណ៍ទាំងនោះអាចពន្យល់ពីប្រភពដើមនៃដំណោះស្រាយមួយ ប៉ុន្តែពួកវាមិនបញ្ជាក់ថា runtime បច្ចុប្បន្នមានកំហុសដូចគ្នានោះទេ។ កត់ត្រាកំណែ runtime និងលទ្ធផលកម្មវិធីជ្រើសរើស មុនពេលផ្លាស់ប្តូរការកំណត់ប្រព័ន្ធប្រតិបត្តិការសម្រាប់កម្មវិធីទាំងអស់។
ប្រសិនបើកម្មវិធីត្រូវការ proxy HTTP សម្រាប់អតិថិជនមួយ ការកំណត់ proxy ច្បាស់លាស់ អាចធ្វើឱ្យតម្រូវការនោះច្បាស់លាស់ជាង។ ប្រសិនបើវាត្រូវការការបញ្ជូនដោយស្វ័យប្រវត្តិតាមមជ្ឈមណ្ឌល សូមស៊ើបអង្កេតថាហេតុអ្វីកម្មវិធីជ្រើសរើសបានទទួល ឬត្រឡប់ធាតុ SOCKS ដែលមិនរំពឹងទុក។
កម្មវិធីជ្រើសរើសផ្ទាល់ខ្លួនគួររក្សាការរំលងដែលមានចេតនា និងការដោះស្រាយបរាជ័យ។ ការចម្រាញ់បេក្ខជន SOCKS ទាំងអស់ដោយគ្មានការរើសអើងអាចបំផ្លាញការតភ្ជាប់ដែលគួរប្រើមួយ។ ជួសជុលច្បាប់មិនត្រឹមត្រូវជាមួយវិសាលភាពតូចបំផុតដែលអ្នកអាចកំណត់បាន។