Smack 4.4 ичиндеги ProxyInfo менен XMPP прокси жөндөөлөрү
ProxyInfoну XMPP туташуу куруучусуна тиркеңиз, прокси, кызмат домени жана сервер хосту үчүн өзүнчө жөндөөлөр менен.
XMPP агымын чындыгында ташыган туташууну конфигурациялаңыз. Байланышсыз URLConnectionге прокси коюу Smackтын TCP туташуусун билдирүү кызматына багыттабайт.
Smack 4.4 HTTP, SOCKS4 жана SOCKS5 үчүн ProxyInfo фабрикаларын сунуштайт. Алынган объектини 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 жөндөөсү үчүн конфигурация фрагменти. Курчап турган колдонмо куруучунун текшерилген өзгөчөлүктөрүн иштетет жана проксинин эсептик маалыматтарын берет. Ачык көрсөтүлгөн хост жана порт XMPP кызматынын чыныгы TCP акыркы чекитин билдирет.
Ар кандай ролдору бар үч ат бар:
proxy.example.netбаштапкы туташууну кабыл алган ортомчу.xmpp-node.example.netпрокси жетиши талап кылынган сервердин акыркы чекити.chat.example.netXMPP кызмат домени, мисалы, эсептин JIDиндеги@белгисинен кийинки домен.
Кызмат акыркы экөө үчүн бирдей атты колдонсо болот, бирок прокси хосттун аты алардын экөөнү тең алмаштырбайт. XMPP кызматынын көздөлгөн инсандыгын туташууда жана анын TLS текшерүүсүндө сактаңыз.
HTTP прокси үчүн тиешелүү прокси порту жана эсептик маалыматтар менен ProxyInfo.forHttpProxy колдонуңуз. Бул жол XMPP туташуусун туннелдей алган жана анын бара турган портуна уруксат берген проксини талап кылат. HTTPS веб-сессиясын тейлеген прокси 5222 портундагы XMPP кызматына TCP туташууларына автоматтык түрдө уруксат бербейт.
Фрагменттеги милдеттүү коопсуздук режими TLSти XMPP туташуусунун шартына айландырат. Ал прокси аутентификациясын аткарбайт жана проксинин эсептик маалыматтары XMPP эсебине кирбейт. Маршрут жана коопсуз сессия түзүлгөндөн кийин XMPP эсебин Smackтын кадимки аутентификация агымы аркылуу конфигурациялаңыз.
Мисалдарды өздөрүнүн API муунунун чегинде кармаңыз. Эски конструкторго негизделген ConnectionConfiguration мисалдары ошол эле маршруттоо концепциясын билдирет, бирок бул жерде колдонулган интерфейс Smack 4.4түн куруучусу. Бул концепцияны учурдагы XMPP кызматына колдонуу үчүн эскирген билдирүү провайдеринин хост аттарын кайра жаратуунун кереги жок.