ការកំណត់ប្រូកស៊ី XMPP ក្នុង Smack 4.4 ជាមួយ ProxyInfo
ភ្ជាប់ ProxyInfo ទៅកាន់អ្នកបង្កើតការតភ្ជាប់ XMPP ជាមួយការកំណត់ដាច់ដោយឡែកសម្រាប់ប្រូកស៊ី ដែនសេវា និងហូស្តម៉ាស៊ីនមេ។
កំណត់ការតភ្ជាប់ដែលពិតជាដឹកលំហូរ XMPP។ ការដាក់ប្រូកស៊ីលើ URLConnection ដែលមិនពាក់ព័ន្ធមិនប្តូរទិសការតភ្ជាប់ TCP របស់ Smack ទៅសេវាផ្ញើសារទេ។
Smack 4.4 ផ្តល់រោងចក្រ ProxyInfo សម្រាប់ HTTP, SOCKS4 និង SOCKS5។ ភ្ជាប់វត្ថុដែលទទួលបានទៅអ្នកបង្កើតការតភ្ជាប់ XMPP៖
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.proxy.ProxyInfo;
import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
ProxyInfo proxy = ProxyInfo.forSocks5Proxy(
"proxy.example.net", 1080, proxyUser, proxyPassword
);
XMPPTCPConnectionConfiguration config =
XMPPTCPConnectionConfiguration.builder()
.setXmppDomain("chat.example.net")
.setHost("xmpp-node.example.net")
.setPort(5222)
.setProxyInfo(proxy)
.setSecurityMode(
ConnectionConfiguration.SecurityMode.required
)
.build();នេះជាបំណែកកំណត់សម្រាប់ការដំឡើង Smack 4.4 ដែលមានស្រាប់។ កម្មវិធីជុំវិញដោះស្រាយករណីលើកលែងដែលបានពិនិត្យរបស់អ្នកបង្កើត និងផ្តល់ព័ត៌មានសម្គាល់ប្រូកស៊ី។ ហូស្ត និងច្រកដែលបានបញ្ជាក់ច្បាស់តំណាងឱ្យចំណុចចុងក្រោយ TCP ពិតប្រាកដរបស់សេវា XMPP។
មានឈ្មោះបីដែលមានតួនាទីខុសៗគ្នា៖
proxy.example.netគឺជាអន្តរការីដែលទទួលការតភ្ជាប់ដំបូង។xmpp-node.example.netគឺជាចំណុចចុងក្រោយរបស់ម៉ាស៊ីនមេដែលប្រូកស៊ីត្រូវទៅដល់។chat.example.netគឺជាដែនសេវា XMPP ដូចជាដែនបន្ទាប់ពី@ក្នុង JID របស់គណនី។
សេវាអាចប្រើឈ្មោះតែមួយសម្រាប់ពីរចុងក្រោយ ប៉ុន្តែឈ្មោះហូស្តប្រូកស៊ីមិនជំនួសណាមួយក្នុងចំណោមនោះទេ។ រក្សាអត្តសញ្ញាណសេវា XMPP ដែលបានបម្រុងទុកនៅក្នុងការតភ្ជាប់ និងការផ្ទៀងផ្ទាត់ TLS របស់វា។
សម្រាប់ប្រូកស៊ី HTTP សូមប្រើ ProxyInfo.forHttpProxy ជាមួយច្រកប្រូកស៊ី និងព័ត៌មានសម្គាល់ដែលសមស្រប។ ផ្លូវនេះត្រូវការប្រូកស៊ីដែលអាចផ្លូវរូងការតភ្ជាប់ XMPP និងអនុញ្ញាតច្រកគោលដៅរបស់វា។ ប្រូកស៊ីដែលដោះស្រាយការរុករកវែប HTTPS មិនអនុញ្ញាតដោយស្វ័យប្រវត្តិនូវការតភ្ជាប់ TCP ទៅសេវា XMPP លើច្រក 5222 ទេ។
របៀបសុវត្ថិភាពដែលត្រូវការក្នុងបំណែកធ្វើឱ្យ TLS ក្លាយជាលក្ខខណ្ឌនៃការតភ្ជាប់ XMPP។ វាមិនធ្វើការផ្ទៀងផ្ទាត់ប្រូកស៊ីទេ ហើយព័ត៌មានសម្គាល់ប្រូកស៊ីមិនចូលគណនី XMPP ទេ។ កំណត់គណនី XMPP តាមលំហូរផ្ទៀងផ្ទាត់ធម្មតារបស់ Smack បន្ទាប់ពីបង្កើតផ្លូវ និងសម័យសុវត្ថិភាព។
រក្សាឧទាហរណ៍នៅក្នុងជំនាន់ API របស់វា។ ឧទាហរណ៍ ConnectionConfiguration ចាស់ដែលផ្អែកលើអ្នកបង្កើតបង្ហាញគំនិតផ្លូវដូចគ្នា ប៉ុន្តែអ្នកបង្កើតរបស់ Smack 4.4 គឺជាចំណុចប្រទាក់ដែលប្រើនៅទីនេះ។ មិនចាំបាច់បង្កើតឈ្មោះហូស្តរបស់អ្នកផ្តល់សេវាផ្ញើសារចាស់ឡើងវិញ ដើម្បីអនុវត្តគំនិតនោះលើសេវា XMPP បច្ចុប្បន្នទេ។