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

Smack 4.4 nudi fabrike ProxyInfo za HTTP, SOCKS4 i SOCKS5. Priložite dobijeni objekat 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 proverene izuzetke graditelja i obezbeđuje proxy akreditive. Eksplicitni host i port označavaju stvarnu TCP završnu tačku XMPP usluge.

Postoje tri imena sa različitim ulogama:

  • proxy.example.net je posrednik koji prima početnu vezu.
  • xmpp-node.example.net je završna tačka servera do koje se proxy traži da stigne.
  • chat.example.net je domena XMPP usluge, kao što je domena posle @ u JID-u naloga.

Usluga može koristiti isto ime za poslednja dva, ali ime hosta proxyja ne zamenjuje nijedno od njih. Sačuvajte nameravani identitet XMPP usluge u vezi i njenoj TLS proveri.

Za HTTP proxy koristite ProxyInfo.forHttpProxy sa odgovarajućim portom proxyja i akreditivima. Taj put zahteva proxy koji može da tunelira XMPP vezu i dozvoli njen odredišni port. Proxy koji obrađuje HTTPS veb pregledanje ne dozvoljava automatski TCP veze ka XMPP usluzi na 5222.

Obavezni bezbednosni režim u fragmentu čini TLS uslovom XMPP veze. On ne obavlja proxy autentifikaciju, a proxy akreditive se ne prijavljuju na XMPP nalog. Konfigurišite XMPP nalog kroz uobičajeni Smack tok autentifikacije nakon uspostavljanja rute i bezbedne sesije.

Držite primere unutar njihove generacije API-ja. Stariji primeri ConnectionConfiguration zasnovani na konstruktoru izražavaju isti koncept usmeravanja, ali graditelj Smack 4.4 je interfejs koji se ovde koristi. Nema potrebe reprodukovati imena hostova zastarelog provajdera poruka da biste taj koncept primenili na trenutnu XMPP uslugu.

Povezani članci