Ikkonfigura l-konnessjoni li fil-fatt iġġorr il-fluss XMPP. L-issettjar ta' proxy fuq URLConnection mhux relatat ma jirridirixxix il-konnessjoni TCP ta' Smack lejn is-servizz tal-messaġġi.

Smack 4.4 jipprovdi fabbriki ProxyInfo għal HTTP, SOCKS4 u SOCKS5. Waħħal l-oġġett li joħroġ mal-builder tal-konnessjoni 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();

Dan huwa framment ta' konfigurazzjoni għal setup eżistenti ta' Smack 4.4. L-applikazzjoni li tħaddanha tittratta l-eċċezzjonijiet iċċekkjati tal-builder u tforni l-kredenzjali tal-proxy. Il-host u l-port espliċiti jirrappreżentaw il-punt tat-tmiem TCP reali tas-servizz XMPP.

Hemm tliet ismijiet b'rwoli differenti:

  • proxy.example.net huwa l-intermedjarju li jirċievi l-konnessjoni inizjali.
  • xmpp-node.example.net huwa l-punt tat-tmiem tas-server li l-proxy huwa mitlub jilħaq.
  • chat.example.net huwa d-dominju tas-servizz XMPP, bħad-dominju wara @ fil-JID ta' kont.

Servizz jista' juża l-istess isem għall-aħħar tnejn, iżda isem tal-host tal-proxy ma jissostitwixxi lil ħadd minnhom. Ippreserva l-identità maħsuba tas-servizz XMPP fil-konnessjoni u fil-validazzjoni TLS tagħha.

Għal proxy HTTP, uża ProxyInfo.forHttpProxy bil-port tal-proxy u l-kredenzjali xierqa. Dak il-perkors jeħtieġ proxy kapaċi jittunnelja l-konnessjoni XMPP u jippermetti l-port tad-destinazzjoni tagħha. Proxy li jittratta navigazzjoni tal-web HTTPS ma jippermettix awtomatikament konnessjonijiet TCP lejn servizz XMPP fuq 5222.

Il-mod tas-sigurtà meħtieġ fil-framment jagħmel it-TLS kundizzjoni tal-konnessjoni XMPP. Dan ma jwettaqx awtentikazzjoni tal-proxy, u l-kredenzjali tal-proxy ma jidħlux f'kont XMPP. Ikkonfigura l-kont XMPP permezz tal-fluss normali ta' awtentikazzjoni ta' Smack wara li jkunu stabbiliti r-rotta u s-sessjoni sigura.

Żomm l-eżempji fil-ġenerazzjoni tal-API tagħhom. L-eżempji eqdem ConnectionConfiguration ibbażati fuq il-kostruttur jesprimu l-istess kunċett ta' routing, iżda l-builder ta' Smack 4.4 huwa l-interface użat hawn. M'hemmx bżonn tirriproduċi l-ismijiet tal-host ta' fornitur tal-messaġġi skadut biex tapplika dak il-kunċett għal servizz XMPP attwali.

Artikli relatati