XMPP-puhverserveri seaded Smack 4.4-s koos ProxyInfoga
Lisage ProxyInfo XMPP-ühenduse ehitajale, eraldi puhverserveri, teenuse domeeni ja serveri hosti seadetega.
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.neton vahendaja, kes võtab vastu algse ühenduse.xmpp-node.example.neton serveri lõpp-punkt, kuhu puhverserveril palutakse jõuda.chat.example.neton 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.