Nakonfigurujte pripojenie, ktoré skutočne prenáša tok XMPP. Nastavenie proxy na nesúvisiacom URLConnection nepresmeruje TCP pripojenie Smack k službe zasielania správ.

Smack 4.4 poskytuje továrne ProxyInfo pre HTTP, SOCKS4 a SOCKS5. Pripojte výsledný objekt k zostavovaču pripojenia XMPP:

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

Toto je fragment konfigurácie pre existujúce nastavenie Smack 4.4. Okolitá aplikácia spracúva kontrolované výnimky zostavovača a dodáva prihlasovacie údaje proxy. Explicitný hostiteľ a port označujú skutočný TCP koncový bod služby XMPP.

Existujú tri názvy s odlišnými rolami:

  • proxy.example.net je prostredník, ktorý prijíma počiatočné pripojenie.
  • xmpp-node.example.net je koncový bod servera, ku ktorému má proxy dosiahnuť.
  • chat.example.net je doména služby XMPP, napríklad doména za @ v JID účtu.

Služba môže pre posledné dva použiť rovnaký názov, ale názov hostiteľa proxy nenahrádza ani jeden z nich. Zachovajte zamýšľanú identitu služby XMPP v pripojení a v jeho overovaní TLS.

Pre proxy HTTP použite ProxyInfo.forHttpProxy s príslušným portom proxy a prihlasovacími údajmi. Táto cesta vyžaduje proxy schopnú tunelovať pripojenie XMPP a povoliť jeho cieľový port. Proxy, ktorá obsluhuje webové prehliadanie cez HTTPS, automaticky nepovoľuje TCP pripojenia k službe XMPP na 5222.

Povinný bezpečnostný režim vo fragmente robí z TLS podmienku pripojenia XMPP. Nevykonáva overovanie proxy a prihlasovacie údaje proxy sa neprihlasujú k účtu XMPP. Nakonfigurujte účet XMPP bežným autentizačným tokom Smack po nadviazaní trasy a zabezpečenej relácie.

Udržujte príklady v rámci ich generácie API. Staršie príklady ConnectionConfiguration založené na konštruktore vyjadrujú rovnaký koncept smerovania, ale zostavovač Smack 4.4 je rozhranie použité tu. Nie je potrebné reprodukovať názvy hostiteľov zastaraného poskytovateľa správ, aby ste tento koncept použili na súčasnú službu XMPP.

Súvisiace články