Konfiguréiert d'Verbindung, déi tatsächlech den XMPP-Strom dréit. E Proxy op engem onverbonnenen URLConnection setzen leet dem Smack seng TCP-Verbindung net op de Messaging-Service ëm.

Smack 4.4 bitt ProxyInfo-Fabriken fir HTTP, SOCKS4 a SOCKS5. Hängt dat resultéierend Objet un den XMPP-Verbindungs-Builder un:

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();

Dëst ass e Konfiguratiounsfragment fir eng bestoend Smack 4.4-Astellung. D'Ëmgéigend Applikatioun behandelt déi gepréift Ausnahmen vum Builder a liwwert dem Proxy seng Authentifikatiounsdonnéeën. Den expliziten Host an de Port stinn fir den tatsächlechen TCP-Endpunkt vum XMPP-Service.

Et ginn dräi Nimm mat ënnerschiddlechen Aufgaben:

  • proxy.example.net ass de Vermëttler, deen déi éischt Verbindung entgeet.
  • xmpp-node.example.net ass den Endpunkt vum Server, deen de Proxy soll erreechen.
  • chat.example.net ass d'Service-Domän vun XMPP, zum Beispill d'Domän no @ an der JID vun engem Kont.

E Service kann deeselwechten Numm fir déi lescht zwee benotzen, awer en Proxy-Hostnumm ersetzt keen vun deenen zwéin. Behale déi virgesinn Identitéit vum XMPP-Service an der Verbindung an hirer TLS-Validatioun.

Fir en HTTP-Proxy benotzt ProxyInfo.forHttpProxy mat dem passenden Proxy-Port an den Donnéeën. Dee Wee brauch e Proxy, deen d'XMPP-Verbindung tunnelen an hire Bestemmungsport erlaben kann. En Proxy, deen HTTPS-Webbrowsing verschafft, erlaabt net automatesch TCP-Verbindungen zu engem XMPP-Service op 5222.

Den erfuerderleche Sécherheetsmodus am Fragment mécht TLS zu enger Bedingung vun der XMPP-Verbindung. Hie mécht keng Proxy-Authentifikatioun, an d'Proxy-Donnéeë loggen sech net an en XMPP-Kont an. Konfiguréiert den XMPP-Kont iwwer den normale Smack-Authentifikatiounsfloss, nodeems de Wee an d'sécher Sessioun opgebaut sinn.

Halt d'Beispiller bannent hirer API-Generatioun. Déi méi al konstruktorbaséiert ConnectionConfiguration-Beispiller drécken deeselwechte Routing-Konzept aus, awer de Builder vu Smack 4.4 ass d'Interface, déi hei benotzt gëtt. Et ass net néideg, d'Hostnimm vun engem vereelten Messaging-Anbieter nobildere fir dee Konzept op en aktuelle XMPP-Service unzewennen.

Ähnlech Artikelen