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.net er milliliðurinn sem tekur við upphaflegu tengingunni.
  • xmpp-node.example.net er endapunktur netþjónsins sem beðið er um að milliþjónninn nái.
  • chat.example.net er þ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.

Tengdir greinar