Settings tal-proxy XMPP fi Smack 4.4 bil-ProxyInfo
Waħħal ProxyInfo mal-builder tal-konnessjoni XMPP, b'settings separati għall-proxy, id-dominju tas-servizz u l-host tas-server.
Ikkonfigura l-konnessjoni li fil-fatt iġġorr il-fluss XMPP. L-issettjar ta' proxy fuq URLConnection mhux relatat ma jirridirixxix il-konnessjoni TCP ta' Smack lejn is-servizz tal-messaġġi.
Smack 4.4 jipprovdi fabbriki ProxyInfo għal HTTP, SOCKS4 u SOCKS5. Waħħal l-oġġett li joħroġ mal-builder tal-konnessjoni 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();Dan huwa framment ta' konfigurazzjoni għal setup eżistenti ta' Smack 4.4. L-applikazzjoni li tħaddanha tittratta l-eċċezzjonijiet iċċekkjati tal-builder u tforni l-kredenzjali tal-proxy. Il-host u l-port espliċiti jirrappreżentaw il-punt tat-tmiem TCP reali tas-servizz XMPP.
Hemm tliet ismijiet b'rwoli differenti:
proxy.example.nethuwa l-intermedjarju li jirċievi l-konnessjoni inizjali.xmpp-node.example.nethuwa l-punt tat-tmiem tas-server li l-proxy huwa mitlub jilħaq.chat.example.nethuwa d-dominju tas-servizz XMPP, bħad-dominju wara@fil-JID ta' kont.
Servizz jista' juża l-istess isem għall-aħħar tnejn, iżda isem tal-host tal-proxy ma jissostitwixxi lil ħadd minnhom. Ippreserva l-identità maħsuba tas-servizz XMPP fil-konnessjoni u fil-validazzjoni TLS tagħha.
Għal proxy HTTP, uża ProxyInfo.forHttpProxy bil-port tal-proxy u l-kredenzjali xierqa. Dak il-perkors jeħtieġ proxy kapaċi jittunnelja l-konnessjoni XMPP u jippermetti l-port tad-destinazzjoni tagħha. Proxy li jittratta navigazzjoni tal-web HTTPS ma jippermettix awtomatikament konnessjonijiet TCP lejn servizz XMPP fuq 5222.
Il-mod tas-sigurtà meħtieġ fil-framment jagħmel it-TLS kundizzjoni tal-konnessjoni XMPP. Dan ma jwettaqx awtentikazzjoni tal-proxy, u l-kredenzjali tal-proxy ma jidħlux f'kont XMPP. Ikkonfigura l-kont XMPP permezz tal-fluss normali ta' awtentikazzjoni ta' Smack wara li jkunu stabbiliti r-rotta u s-sessjoni sigura.
Żomm l-eżempji fil-ġenerazzjoni tal-API tagħhom. L-eżempji eqdem ConnectionConfiguration ibbażati fuq il-kostruttur jesprimu l-istess kunċett ta' routing, iżda l-builder ta' Smack 4.4 huwa l-interface użat hawn. M'hemmx bżonn tirriproduċi l-ismijiet tal-host ta' fornitur tal-messaġġi skadut biex tapplika dak il-kunċett għal servizz XMPP attwali.