هغه نښلون تنظیم کړئ چې واقعاً د XMPP جریان لېږدوي. پر یو بې‌اړیکه URLConnection پروکسي ټاکل د Smack TCP نښلون د پیغام رسولو خدمت ته نه اوړي.

Smack 4.4 د HTTP، SOCKS4 او SOCKS5 لپاره ProxyInfo فابریکې برابروي. ترلاسه شوی شی د 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();

دا د موجود Smack 4.4 ترتیب لپاره د تنظیماتو ټوټه ده. شاوخوا اپلیکیشن د جوړونکي چک شوي استثناوې اداره کوي او د پروکسي اعتبارنامې برابروي. ښکاره هوسټ او پورټ د XMPP خدمت ریښتینی TCP پای ټکی ښیي.

درې نومونه دي چې بېل رولونه لري:

  • proxy.example.net هغه منځګړی دی چې لومړنی نښلون ترلاسه کوي.
  • xmpp-node.example.net هغه سرور پای ټکی دی چې پروکسي ته ویل کېږي ورته ورسېږي.
  • chat.example.net د XMPP خدمت ډومین دی، لکه هغه ډومین چې د حساب په JID کې د @ وروسته راځي.

یو خدمت کولای شي د وروستیو دوو لپاره یو شان نوم وکاروي، خو د پروکسي هوسټ نوم هغه له یوه هم نه بدلوي. د XMPP خدمت په نیت شوې هویت په نښلون او د هغه په TLS تصدیق کې وساتئ.

د HTTP پروکسي لپاره ProxyInfo.forHttpProxy د مناسبي پروکسي پورټ او اعتبارنامو سره وکاروئ. هغه لار داسې پروکسي غواړي چې د XMPP نښلون تونل کړای شي او د هغه د منزل پورټ اجازه ورکړي. هغه پروکسي چې HTTPS ویب ګرځېدل سمبالوي په 5222 باندې XMPP خدمت ته TCP نښلونونه په اتوماتيک ډول نه اجازه ورکوي.

په ټوټه کې اړین د امنیت حالت TLS د XMPP نښلون شرط ګرځوي. دا د پروکسي تصدیق نه ترسره کوي، او د پروکسي اعتبارنامې XMPP حساب ته ننوځي نه. وروسته له دې چې لار او خوندي غونډه جوړه شوه، XMPP حساب د Smack د عادي تصدیق بهیر له لارې تنظیم کړئ.

بېلګې د خپل API نسل په داخل کې وساتئ. زاړه د جوړونکي پر بنسټ ConnectionConfiguration بېلګې هماغه د لارښوونې مفهوم څرګندوي، خو دلته کارول شوې برخه د Smack 4.4 جوړونکی دی. اړتیا نشته چې د یو له منځه تللي پیغام رسولو برابرونکي هوسټ نومونه بیا جوړ کړئ تر څو هغه مفهوم پر اوسني XMPP خدمت پلي کړئ.

اړوندې مقالې