Izilungiselelo ze-XMPP proxy ku-Smack 4.4 nge-ProxyInfo
Namathisela i-ProxyInfo kumakhi wokuxhumana we-XMPP, nezilungiselelo ezihlukile ze-proxy, isizinda somsebenzi kanye ne-host ye-server.
Lungiselela uxhumano oluthwala ngempela umfudlana we-XMPP. Ukusetha i-proxy ku-URLConnection engahlobene akuguquli uxhumano lwe-TCP lwe-Smack luyise enkonzweni yemilayezo.
I-Smack 4.4 ihlinzeka ngamafemuwali we-ProxyInfo e-HTTP, i-SOCKS4 ne-SOCKS5. Namathisela into etholakele kumakhi wokuxhumana we-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();Lena iyingxenye yokulungiselela yesethaphu ye-Smack 4.4 ekhona. Uhlelo oluzungezile lubhekana namaphutha ahloliwe kamakhi futhi lunikeze izifakazelo ze-proxy. I-host ne-port ezicacisiwe zimelela iphoyinti lokugcina le-TCP lenkonzo ye-XMPP.
Kunamagama amathathu anendima ehlukene:
proxy.example.netingumlamuli owamukela uxhumano lokuqala.xmpp-node.example.netiphoyinti lokugcina leseva i-proxy ecelwa ukuba ifinyelele kulo.chat.example.netisizinda senkonzo ye-XMPP, njengesizinda esingemva kwe-@ku-JID ye-akhawunti.
Inkonzo ingasebenzisa igama elifanayo kulezi zimbili zokugcina, kodwa igama le-host ye-proxy alithathi indawo yanoma yiliphi kulo. Gcina ubunikazi benkonzo ye-XMPP obuhlosiwe kuxhumano nasekuqinisekisweni kwayo kwe-TLS.
Nge-proxy ye-HTTP, sebenzisa i-ProxyInfo.forHttpProxy ne-port ye-proxy efanele nezifakazelo. Leyo ndlela idinga i-proxy ekwazi ukudlulisa uxhumano lwe-XMPP emhubheni nokuvumela i-port yayo yendawo ekuyiwa kuyo. I-proxy ephethe ukuphequlula kwewebhu nge-HTTPS ayivumeli ngokuzenzakalela ukuxhumana kwe-TCP enkonzweni ye-XMPP ku-5222.
Imodi yokuphepha edingekayo engxenyeni yenza i-TLS ibe umbandela wokuxhumana kwe-XMPP. Ayikwenzi ukuqinisekiswa kwe-proxy, futhi izifakazelo ze-proxy azingeni ku-akhawunti ye-XMPP. Lungiselela i-akhawunti ye-XMPP ngokugeleza kokujwayelekile kokuqinisekisa kwe-Smack ngemva kokusungula indlela neseshini ephephile.
Gcina izibonelo zingaphakathi kwesizukulwane sazo se-API. Izibonelo zakudala ze-ConnectionConfiguration ezisekelwe kumakhi ziveza umqondo ofanayo wokuhlela indlela, kodwa umakhi we-Smack 4.4 yiwo isixhumi esisetshenziswe lapha. Asikho isidingo sokuphinda kukhiqizwe amagama e-host kamhlinzeki wemilayezo ophelelwe yisikhathi ukuze lowo mqondo usetshenziswe enkonzweni ye-XMPP yamanje.