Ffurfweddwch y cysylltiad sy'n cario'r ffrwd XMPP mewn gwirionedd. Nid yw gosod procsi ar URLConnection annibynnol yn ailgyfeirio cysylltiad TCP Smack i'r gwasanaeth negeseuon.

Mae Smack 4.4 yn darparu ffatrïoedd ProxyInfo ar gyfer HTTP, SOCKS4 a SOCKS5. Atodwch y gwrthrych canlyniadol wrth adeiladwr cysylltiad 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();

Mae hwn yn ddarn ffurfweddu ar gyfer gosodiad Smack 4.4 presennol. Mae'r cymhwysiad amgylchynol yn trin eithriadau gwiriadwy'r adeiladwr ac yn cyflenwi manylion procsi. Mae'r gwesteiwr a'r porthladd penodol yn cynrychioli pen clo TCP gwirioneddol y gwasanaeth XMPP.

Mae tri enw â rolau gwahanol:

  • proxy.example.net yw'r cyfryngwr sy'n derbyn y cysylltiad cychwynnol.
  • xmpp-node.example.net yw pen clo'r gweinydd y gofynnir i'r procsi ei gyrraedd.
  • chat.example.net yw parth gwasanaeth XMPP, fel y parth ar ôl @ yn JID cyfrif.

Gall gwasanaeth ddefnyddio'r un enw ar gyfer y ddau olaf, ond nid yw enw gwesteiwr procsi yn disodli'r naill na'r llall. Cadwch hunaniaeth arfaethedig y gwasanaeth XMPP yn y cysylltiad a'i ddilysu TLS.

Ar gyfer procsi HTTP, defnyddiwch ProxyInfo.forHttpProxy gyda phorthladd procsi a manylion priodol. Mae'r llwybr hwnnw angen procsi sy'n gallu twnelu'r cysylltiad XMPP ac yn caniatáu ei borthladd cyrchfan. Nid yw procsi sy'n trin pori'r we HTTPS yn caniatáu cysylltiadau TCP i wasanaeth XMPP ar 5222 yn awtomatig.

Mae'r modd diogelwch gofynnol yn y darn yn gwneud TLS yn amod ar gyfer y cysylltiad XMPP. Nid yw'n cyflawni dilysu procsi, ac nid yw manylion y procsi yn mewngofnodi i gyfrif XMPP. Ffurfweddwch y cyfrif XMPP drwy lif dilysu arferol Smack ar ôl sefydlu'r llwybr a'r sesiwn ddiogel.

Cadwch enghreifftiau o fewn eu cenhedlaeth API. Mae'r hen enghreifftiau ConnectionConfiguration sy'n seiliedig ar gystrawenydd yn mynegi'r un cysyniad llwybro, ond adeiladwr Smack 4.4 yw'r rhyngwyneb a ddefnyddir yma. Nid oes angen atgynhyrchu enwau gwesteiwyr darparwr negeseuon hen ffasiwn i gymhwyso'r cysyniad hwnnw i wasanaeth XMPP cyfredol.

Erthyglau cysylltiedig