ກຳນົດການເຊື່ອມຕໍ່ທີ່ຖືກລຳລຽງ 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 ປັດຈຸບັນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ