XMPP-proxyinnstillingar i Smack 4.4 med ProxyInfo
Fest ProxyInfo til XMPP-tilkoplingsbyggjaren, med skilde innstillingar for proxy, tenestedomene og tenarvert.
Konfigurer tilkoplinga som faktisk ber XMPP-straumen. Å setja ein proxy på ein urelatert URLConnection omdirigerer ikkje TCP-tilkoplinga til Smack til meldingstenesta.
Smack 4.4 tilbyr ProxyInfo-fabrikkar for HTTP, SOCKS4 og SOCKS5. Fest det resulterande objektet til XMPP-tilkoplingsbyggjaren:
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();Dette er eit konfigurasjonsfragment for eit eksisterande Smack 4.4-oppsett. Applikasjonen rundt handsamar dei kontrollerte unntaka til byggjaren og leverer proxy-påloggingsinformasjonen. Den eksplisitte verten og porten står for det faktiske TCP-endepunktet til XMPP-tenesta.
Det er tre namn med ulike roller:
proxy.example.neter mellomleddet som tek imot den fyrste tilkoplinga.xmpp-node.example.neter tenarendepunktet proxyen blir beden om å nå.chat.example.neter XMPP-tenestedomenet, til dømes domenet etter@i JID-en til ein konto.
Ei teneste kan bruka same namn for dei to siste, men eit proxy-vertsnamn erstattar ingen av dei. Behald den tiltenkte identiteten til XMPP-tenesta i tilkoplinga og TLS-valideringa hennar.
For ein HTTP-proxy brukar du ProxyInfo.forHttpProxy med rett proxy-port og påloggingsinformasjon. Den vegen krev ein proxy som kan tunnelera XMPP-tilkoplinga og tillata målporten. Ein proxy som handterer HTTPS-nettlesing tillèt ikkje automatisk TCP-tilkoplingar til ei XMPP-teneste på 5222.
Den påkravde tryggleiksmodusen i fragmentet gjer TLS til eit vilkår for XMPP-tilkoplinga. Han utfører ikkje proxy-autentisering, og proxy-påloggingsinformasjonen loggar ikkje inn på ein XMPP-konto. Konfigurer XMPP-kontoen gjennom den vanlege autentiseringsflyten til Smack etter at ruta og den trygge økta er etablerte.
Hald døme innanfor si eiga API-generasjon. Dei eldre konstruktørbaserte ConnectionConfiguration-døma uttrykkjer same rutingkonseptet, men byggjaren i Smack 4.4 er grensesnittet som blir brukt her. Det er ikkje naudsynt å gjengje vertsnamna til ein utdatert meldingsleverandør for å bruka konseptet på ei gjeldande XMPP-teneste.