Socket.IO ໃນ Node.js: ໃຊ້ SOCKS agent ສຳລັບ polling ແລະ WebSocket
ຮັກສາ URL ຂອງ Socket.IO server ໄວ້ຄືເກົ່າ ແລະ ກວດເບິ່ງການຂຽນທັບຕໍ່ transport ຖ້າ upgrade ລົ້ມເຫລວ.
import { io } from 'socket.io-client';
import { SocksProxyAgent } from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const socket = io('https://events.example', {
agent,
transports: ['polling', 'websocket'],
});ໃຊ້ບໍລິການ Socket.IO ຕົວຈິງ. Node agent ເຈລະຈາ SOCKS; socks5h ມອບ DNS ປາຍທາງໃຫ້ proxy ນັ້ນ. ເລືອກ endpoint ທີ່ເໝາະສົມຈາກ ລາຍຊື່ proxy SOCKS5 ເມື່ອອະນຸຍາດໃຫ້ທົດສອບບໍລິການສາທາລະນະຜ່ານຕົວກາງສາທາລະນະ.
polling ອາດສຳເລັດກ່ອນທີ່ WebSocket upgrade ຕໍ່ມາຈະລົ້ມເຫລວ. ກວດເບິ່ງທັງສອງເສັ້ນທາງ ແລະ transportOptions ໃດໆທີ່ຂຽນທັບ agent ລະດັບເທິງ.
ຕົວຢ່າງໃຊ້ສອງ transport ນີ້ໂດຍເຈດຕະນາ. WebTransport ໃຊ້ການຈັດຕັ້ງອື່ນ, ແລະ JavaScript ທີ່ລວມຢູ່ໃນ browser ປະຕິບັດຕາມການຕັ້ງຄ່າຂອງ browser. endpoint WebSocket ທຳມະດາກໍບໍ່ແມ່ນ Socket.IO server.
ຮັກສາໂລຈິກ event ແລະ ການເຊື່ອມຕໍ່ຄືນທີ່ມີຢູ່, ແລ້ວຕັດ client ແລະ ປ່ອຍ agent ຂອງມັນເມື່ອການເຊື່ອມຕໍ່ສິ້ນສຸດ.