XMPP milliþjónsstillingar í Smack 4.4 með ProxyInfo
Festu ProxyInfo við XMPP-tengingarsmiðinn, með aðskildum stillingum fyrir milliþjón, þjónustulén og netþjónshýsil.
Stilltu tenginguna sem ber í raun XMPP-strauminn. Að setja milliþjón á ótengt URLConnection beinir ekki TCP-tengingu Smack til skeytasendingaþjónustunnar.
Smack 4.4 býður upp á ProxyInfo verksmiðjur fyrir HTTP, SOCKS4 og SOCKS5. Festu hlutinn sem verður til við XMPP-tengingarsmiðinn:
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();Þetta er stillingabrot fyrir fyrirliggjandi Smack 4.4 uppsetningu. Umlykjandi forrit sér um athugaðar undantekningar smiðsins og útvegar skilríki milliþjónsins. Hýsillinn og gáttin sem tilgreind eru tákna raunverulegan TCP-endapunkt XMPP-þjónustunnar.
Þrjú nöfn hafa ólík hlutverk:
proxy.example.neter milliliðurinn sem tekur við upphaflegu tengingunni.xmpp-node.example.neter endapunktur netþjónsins sem beðið er um að milliþjónninn nái.chat.example.neter þjónustulén XMPP, til dæmis lénið á eftir@í JID reiknings.
Þjónusta getur notað sama nafn fyrir síðustu tvö, en hýsilnafn milliþjóns kemur ekki í staðinn fyrir hvort þeirra. Varðveittu ætlaða auðkenni XMPP-þjónustunnar í tengingunni og TLS-sannprófun hennar.
Fyrir HTTP milliþjón skaltu nota ProxyInfo.forHttpProxy með viðeigandi milliþjónsgátt og skilríkjum. Sú leið krefst milliþjóns sem getur túllað XMPP-tenginguna og leyft áfangagátt hennar. Milliþjónn sem sér um HTTPS vafur leyfir ekki sjálfkrafa TCP-tengingar við XMPP-þjónustu á 5222.
Skyldubundið öryggisstilling í brotinu gerir TLS að skilyrði fyrir XMPP-tengingunni. Hún framkvæmir ekki auðkenningu milliþjóns, og skilríki milliþjónsins skrá ekki inn á XMPP-reikning. Stilltu XMPP-reikninginn með venjulegu auðkenningarflæði Smack eftir að leiðin og örugga lotan eru komin á.
Haltu dæmum innan sinnar API-kynslóðar. Eldri ConnectionConfiguration dæmin sem byggja á smið tjá sömu leiðarhugmyndina, en smiður Smack 4.4 er viðmótið sem notað er hér. Ekki er þörf á að endurskapa hýsilnöfn úrelts skeytasendingaveitanda til að beita þeirri hugmynd á núverandi XMPP-þjónustu.