Подешавања XMPP проксија у Smack 4.4 са ProxyInfo
Прикачите ProxyInfo на градитељ XMPP везе, са одвојеним подешавањима за прокси, домен услуге и хост сервера.
Подесите везу која заиста преноси XMPP ток. Постављање проксија на неповезани URLConnection не преусмерава TCP везу Smack-а ка услузи за размену порука.
Smack 4.4 нуди фабрике ProxyInfo за HTTP, SOCKS4 и SOCKS5. Прикачите добијени објекат на градитељ 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. Окружна апликација обрађује проверене изузетке градитеља и обезбеђује акредитиве за прокси. Експлицитни хост и порт означавају стварну TCP завршну тачку XMPP услуге.
Постоје три имена са различитим улогама:
proxy.example.netје посредник који прима почетну везу.xmpp-node.example.netје завршна тачка сервера до које прокси треба да стигне.chat.example.netје домен XMPP услуге, на пример домен после@у JID-у налога.
Услуга може користити исто име за последња два, али име хоста проксија не замењује ниједно од њих. Сачувајте предвиђени идентитет XMPP услуге у вези и њеној TLS провери.
За HTTP прокси користите ProxyInfo.forHttpProxy са одговарајућим портом проксија и акредитивима. Тај пут захтева прокси који може да тунелира XMPP везу и дозволи њен одредишни порт. Прокси који обрађује HTTPS веб прегледање не дозвољава аутоматски TCP везе ка XMPP услузи на 5222.
Обавезни безбедносни режим у фрагменту чини TLS условом XMPP везе. Он не обавља прокси аутентификацију, а акредитиви за прокси се не пријављују на XMPP налог. Подесите XMPP налог кроз уобичајени ток аутентификације Smack-а након успостављања руте и безбедне сесије.
Држите примере унутар њихове генерације API-ја. Старији примери ConnectionConfiguration засновани на конструктору изражавају исти концепт усмеравања, али градитељ Smack 4.4 је интерфејс који се овде користи. Нема потребе да репродукујете имена хостова застарелог добављача порука да бисте тај концепт применили на тренутну XMPP услугу.