XMPP proxy ezarpenak Smack 4.4-n ProxyInfo erabiliz
Erantsi ProxyInfo XMPP konexioaren eraikitzailera, proxy, zerbitzu-domeinu eta zerbitzari-host ezarpen bereiziekin.
Konfiguratu XMPP korrontea benetan eramaten duen konexioa. Erlaziorik gabeko URLConnection baten proxy bat ezartzeak ez du Smack-en TCP konexioa mezularitza zerbitzura birbideratzen.
Smack 4.4-k ProxyInfo fabrikak eskaintzen ditu HTTP, SOCKS4 eta SOCKS5erako. Erantsi lortutako objektua XMPP konexioaren eraikitzailera:
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();Hau lehendik dagoen Smack 4.4 ezarpen baterako konfigurazio zati bat da. Inguruko aplikazioak eraikitzailearen salbuespen egiaztatuak kudeatzen ditu eta proxyaren kredentzialak ematen ditu. Host eta portu esplizituak XMPP zerbitzuaren benetako TCP amaiera-puntua adierazten dute.
Hiru izen daude rol desberdinekin:
proxy.example.nethasierako konexioa hartzen duen bitartekaria da.xmpp-node.example.netproxyari iristeko eskatzen zaion zerbitzariaren amaiera-puntua da.chat.example.netXMPP zerbitzuaren domeinua da, adibidez kontu baten JIDan@ondoren dagoen domeinua.
Zerbitzu batek izen bera erabil dezake azken bietarako, baina proxyaren host-izenak ez du bietako bat ordezkatzen. Gorde XMPP zerbitzuaren identitate asmoa konexioan eta haren TLS egiaztapenean.
HTTP proxy baterako erabili ProxyInfo.forHttpProxy proxy portu eta kredentzial egokiekin. Bide horrek XMPP konexioa tunelatu eta helmugako portua onartzen duen proxy bat behar du. HTTPS web nabigazioa kudeatzen duen proxy batek ez ditu automatikoki onartzen 5222 portuko XMPP zerbitzu baterako TCP konexioak.
Zatian beharrezkoa den segurtasun moduak TLS XMPP konexioaren baldintza bihurtzen du. Ez du proxy autentifikaziorik egiten, eta proxyaren kredentzialek ez dute XMPP kontu batean saioa hasten. Konfiguratu XMPP kontua Smack-en ohiko autentifikazio fluxuaren bidez ibilbidea eta saio segurua ezarri ondoren.
Eduki itzazu adibideak beren API belaunaldiaren barruan. Konstruktoretan oinarritutako ConnectionConfiguration adibide zaharrek bideratze kontzeptu bera adierazten dute, baina Smack 4.4ren eraikitzailea da hemen erabiltzen den interfazea. Ez da beharrezkoa mezularitza hornitzaile zaharkitu baten host-izenak erreproduzitzea kontzeptu hori uneko XMPP zerbitzu bati aplikatzeko.