Konfigurirajte vezu koja stvarno prenosi XMPP tok. Postavljanje proxyja na nepovezani URLConnection ne preusmjerava Smack TCP vezu na uslugu razmjene poruka.

Smack 4.4 pruža tvornice ProxyInfo za HTTP, SOCKS4 i SOCKS5. Priložite dobiveni objekt graditelju XMPP veze:

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

Ovo je fragment konfiguracije za postojeće postavljanje Smack 4.4. Okolna aplikacija obrađuje provjerene iznimke graditelja i osigurava proxy vjerodajnice. Eksplicitni host i port označavaju stvarnu TCP završnu točku XMPP usluge.

Postoje tri imena s različitim ulogama:

  • proxy.example.net je posrednik koji prima početnu vezu.
  • xmpp-node.example.net je završna točka poslužitelja do koje se proxy traži da stigne.
  • chat.example.net je domena XMPP usluge, poput domene nakon @ u JID-u računa.

Usluga može koristiti isto ime za posljednja dva, ali ime hosta proxyja ne zamjenjuje nijedno od njih. Sačuvajte namjeravani identitet XMPP usluge u vezi i njezinoj TLS provjeri.

Za HTTP proxy upotrijebite ProxyInfo.forHttpProxy s odgovarajućim portom proxyja i vjerodajnicama. Taj put zahtijeva proxy koji može tunelirati XMPP vezu i dopustiti njezin odredišni port. Proxy koji obrađuje HTTPS web pregledavanje ne dopušta automatski TCP veze na XMPP uslugu na 5222.

Obvezni sigurnosni način u fragmentu čini TLS uvjetom XMPP veze. On ne obavlja proxy autentifikaciju, a proxy vjerodajnice ne prijavljuju se na XMPP račun. Konfigurirajte XMPP račun kroz uobičajeni Smack tok autentifikacije nakon uspostavljanja rute i sigurne sesije.

Držite primjere unutar njihove generacije API-ja. Stariji primjeri ConnectionConfiguration temeljeni na konstruktoru izražavaju isti koncept usmjeravanja, ali Smack 4.4 graditelj je sučelje koje se ovdje koristi. Nema potrebe reproducirati imena hostova zastarjelog pružatelja poruka da biste taj koncept primijenili na trenutačnu XMPP uslugu.

Povezani članci