Nastavitve proxyja XMPP v Smack 4.4 s ProxyInfo
Pripnite ProxyInfo k graditelju povezave XMPP z ločenimi nastavitvami proxyja, domene storitve in gostitelja strežnika.
Konfigurirajte povezavo, ki dejansko prenaša tok XMPP. Nastavitev proxyja na nepovezanem URLConnection ne preusmeri povezave TCP v Smack na storitev sporočanja.
Smack 4.4 ponuja tovarne ProxyInfo za HTTP, SOCKS4 in SOCKS5. Pripnite dobljeni objekt k graditelju povezave 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();To je fragment konfiguracije za obstoječo nastavitev Smack 4.4. Okoliška aplikacija obravnava preverjene izjeme graditelja in zagotavlja poverilnice proxyja. Izrecni gostitelj in vrata označujeta dejansko končno točko TCP storitve XMPP.
Obstajajo tri imena z različnimi vlogami:
proxy.example.netje posrednik, ki sprejme začetno povezavo.xmpp-node.example.netje končna točka strežnika, do katere mora proxy priti.chat.example.netje domena storitve XMPP, na primer domena za@v JID računa.
Storitev lahko za zadnja dva uporabi isto ime, vendar ime gostitelja proxyja ne nadomesti nobenega od njiju. Ohranite predvideno identiteto storitve XMPP v povezavi in njenem preverjanju TLS.
Za proxy HTTP uporabite ProxyInfo.forHttpProxy z ustreznimi vrati proxyja in poverilnicami. Ta pot zahteva proxy, ki lahko tunelira povezavo XMPP in dovoli njena ciljna vrata. Proxy, ki obravnava brskanje po spletu HTTPS, samodejno ne dovoli povezav TCP do storitve XMPP na 5222.
Zahtevani varnostni način v fragmentu naredi TLS pogoj povezave XMPP. Ne izvaja preverjanja pristnosti proxyja in poverilnice proxyja se ne prijavijo v račun XMPP. Konfigurirajte račun XMPP z običajnim potekom preverjanja pristnosti v Smack po vzpostavitvi poti in varne seje.
Primere ohranite v njihovi generaciji API. Starejši primeri ConnectionConfiguration, ki temeljijo na konstruktorju, izražajo isti koncept usmerjanja, vendar je graditelj Smack 4.4 vmesnik, uporabljen tukaj. Ni treba reproducirati imen gostiteljev zastarelega ponudnika sporočanja, da bi ta koncept uporabili za trenutno storitev XMPP.