Socket.IO ใน Node.js: ใช้ SOCKS agent สำหรับ polling และ WebSocket
คง URL ของเซิร์ฟเวอร์ Socket.IO ไว้ตามเดิม และตรวจสอบการแทนที่ต่อทรานสปอร์ตหากการอัปเกรดล้มเหลว
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 ปลายทางให้พร็อกซีนั้น ใช้ปลายทางที่ตรงกันจากรายการพร็อกซี SOCKS5เมื่ออนุญาตให้ทดสอบบริการสาธารณะผ่านตัวกลางสาธารณะ
polling อาจสำเร็จก่อนที่การอัปเกรด WebSocket ในภายหลังจะล้มเหลว ตรวจสอบทั้งสองเส้นทางและ transportOptions ใด ๆ ที่แทนที่ agent ระดับบนสุด
ตัวอย่างใช้ทรานสปอร์ตสองแบบนี้โดยเจตนา WebTransport ใช้การใช้งานอื่น และ JavaScript ที่รวมมากับเบราว์เซอร์เป็นไปตามการกำหนดค่าของเบราว์เซอร์ ปลายทาง WebSocket ธรรมดาก็ไม่ใช่เซิร์ฟเวอร์ Socket.IO เช่นกัน
คงตรรกะเหตุการณ์และการเชื่อมต่อใหม่ที่มีอยู่ แล้วตัดการเชื่อมต่อไคลเอนต์และปล่อย agent ของมันเมื่อการเชื่อมต่อเสร็จสิ้น