សម្រាប់ bootstrap/pipeline Netty ដែលមានស្រាប់ ដែលម៉ាស៊ីនមេ SOCKS គួរដោះស្រាយគោលដៅ៖

bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);

pipeline.addFirst(
    new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);

bootstrap.connect(
    InetSocketAddress.createUnresolved("example.com", 443)
);

ចំណុចបញ្ចប់ប្រូកស៊ីគឺព័រមូលដ្ឋាន 1080; គោលដៅតភ្ជាប់ដែលមិនទាន់ដោះស្រាយគឺ example.com:443។ កុំប្រើអាសយដ្ឋានប្រូកស៊ីសម្រាប់តួនាទីទាំងពីរ ហើយកុំដោះស្រាយឈ្មោះមុនពេល handler ទទួលបានវា។ សម្រាប់គោលដៅសាធារណៈនៅលើផ្លូវប្រូកស៊ីសាធារណៈដែលត្រូវបានអនុញ្ញាត បញ្ជីប្រូកស៊ី SOCKS5 ផ្តល់បេក្ខជនសម្រាប់ចំណុចបញ្ចប់ប្រូកស៊ីរបស់ handler។

ដាក់ Socks5ProxyHandler មុន handler ដែលផ្លាស់ប្តូរចរាចរណ៍គោលដៅ។ រង់ចាំ future នៃការតភ្ជាប់ប្រូកស៊ីរបស់វា មិនមែនត្រឹមតែ channel ដែលឈានដល់អ្នកស្តាប់នោះទេ។ វិធីសាស្ត្រ ឬគោលដៅដែលត្រូវបានបដិសេធជាកម្មសិទ្ធិរបស់ដំណាក់កាលរៀបចំនេះ។

សម្រាប់ HTTPS ស្រទាប់ TLS បន្ទាប់ប្រើឈ្មោះម៉ាស៊ីនរបស់គោលដៅ ការផ្ទៀងផ្ទាត់ និងទំនុកចិត្តដែលត្រូវការ—មិនមែនអត្តសញ្ញាណរបស់ចំណុចបញ្ចប់ SOCKS ទេ។ បន្ទាប់មកទើបការផ្លាស់ប្តូរ HTTP/កម្មវិធីចាប់ផ្តើម។

ផ្នែកនេះមិនផ្តល់ event loop ប្រភេទ channel handler TLS/HTTP ឬការគ្រប់គ្រងកំហុសធម្មតាទេ។ ជ្រើសរើស constructor SOCKS ដែលត្រូវនឹងតម្រូវការផ្ទៀងផ្ទាត់; handler HTTP Basic គឺជាពិធីការមួយផ្សេងទៀត។

ប្រើ resolver no-op តែនៅកន្លែងដែល handler ខាងក្រោមនេះគ្រប់គ្រងការដោះស្រាយឈ្មោះម៉ាស៊ីន។ ការតភ្ជាប់ផ្សេងទៀតអាចត្រូវការការស្វែងរកមូលដ្ឋាន។ រក្សាលទ្ធផល resolver, future ប្រូកស៊ី, TLS និងលទ្ធផលកម្មវិធីដាច់ដោយឡែក នៅពេលធ្វើរោគវិនិច្ឆ័យបរាជ័យ។

អត្ថបទពាក់ព័ន្ធ