Seadistage ühendus, mis tegelikult XMPP-voogu kannab. Puhverserveri seadmine mitteseotud URLConnectionile ei suuna Smacki TCP-ühendust sõnumiteenusesse ümber.

Smack 4.4 pakub ProxyInfo tehasid HTTP, SOCKS4 ja SOCKS5 jaoks. Lisage saadud objekt XMPP-ühenduse ehitajale:

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

See on konfiguratsioonifragment olemasoleva Smack 4.4 seadistuse jaoks. Ümbritsev rakendus käsitleb ehitaja kontrollitud erindeid ja annab puhverserveri volitused. Selgesõnaline host ja port tähistavad XMPP-teenuse tegelikku TCP-lõpp-punkti.

Seal on kolm nime erinevate rollidega:

  • proxy.example.net on vahendaja, kes võtab vastu algse ühenduse.
  • xmpp-node.example.net on serveri lõpp-punkt, kuhu puhverserveril palutakse jõuda.
  • chat.example.net on XMPP-teenuse domeen, näiteks domeen pärast @ konto JID-is.

Teenus võib kahe viimase jaoks kasutada sama nime, kuid puhverserveri hostinimi ei asenda kumbagi. Säilitage kavandatud XMPP-teenuse identiteet ühenduses ja selle TLS-kontrollis.

HTTP-puhverserveri jaoks kasutage ProxyInfo.forHttpProxy sobiva puhverserveri pordi ja volitustega. See tee nõuab puhverserverit, mis suudab XMPP-ühendust tunnelldada ja lubada selle sihtporti. HTTPS-veebilehitsemist teenindav puhverserver ei luba automaatselt TCP-ühendusi XMPP-teenusesse pordil 5222.

Fragmendi nõutav turvarežiim muudab TLS-i XMPP-ühenduse tingimuseks. See ei tee puhverserveri autentimist ning puhverserveri volitused ei logi XMPP-kontole sisse. Seadistage XMPP-konto Smacki tavalise autentimisvoo kaudu pärast marsruudi ja turvalise sessiooni loomist.

Hoidke näited oma API-põlvkonna piires. Vanemad konstruktoripõhised ConnectionConfiguration näited väljendavad sama marsruutimiskontseptsiooni, kuid siin kasutatav liides on Smack 4.4 ehitaja. Aegunud sõnumiteenuse pakkuja hostinimede kordamine pole vajalik, et seda kontseptsiooni praegusele XMPP-teenusele rakendada.

Seotud artiklid