د Smack 4.4 لپاره د XMPP پروکسي تنظیمات د ProxyInfo سره
ProxyInfo د XMPP د نښلونې جوړونکي سره ونښلوئ، د پروکسي، د خدمت ډومین او د سرور هوسټ لپاره جلا تنظیمات سره.
هغه نښلون تنظیم کړئ چې واقعاً د 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 خدمت پلي کړئ.