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'],
});

Haqiqiy Socket.IO xizmatidan foydalaning. Node agenti SOCKS bo'yicha kelishadi; socks5h manzil DNS ini o'sha proksiga topshiradi. Ommaviy vositachilar orqali ommaviy xizmatlarni sinashga ruxsat berilganda SOCKS5 proksi ro'yxatidan mos keladigan so'nggi nuqtani oling.

Polling keyingi WebSocket yangilanishi muvaffaqiyatsiz bo'lishidan oldin ham muvaffaqiyatli bo'lishi mumkin. Ikkala yo'lni va yuqori darajadagi agentni qayta belgilovchi har qanday transportOptions ni tekshiring.

Misolda bu ikki transport ataylab ishlatilgan. WebTransport boshqa tatbiqdan foydalanadi, brauzerga to'plangan JavaScript esa brauzer sozlamalariga bo'ysunadi. Oddiy WebSocket so'nggi nuqtasi ham Socket.IO serveri emas.

Mavjud hodisalar va qayta ulanish mantiqini saqlang, so'ng ulanishlar tugagach mijozi uzib, uning agentini bo'shating.

O'xshash maqolalar