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 এজেন্ট SOCKS নিয়ে দরকষাকষি করে; socks5h গন্তব্যের DNS ওই প্রক্সিকে দেয়। সরকারি মধ্যস্থতাকারীর মাধ্যমে সরকারি সেবার পরীক্ষা অনুমোদিত হলে SOCKS5 প্রক্সি তালিকা থেকে মিলে যাওয়া এন্ডপয়েন্ট নিন।

পরবর্তী WebSocket আপগ্রেড ব্যর্থ হওয়ার আগে polling সফল হতে পারে। দুই পথ এবং শীর্ষ-স্তরের এজেন্টকে ওভাররাইড করা যেকোনো transportOptions পরীক্ষা করুন।

উদাহরণটি সচেতনভাবে এই দুটি পরিবহন ব্যবহার করে। WebTransport অন্য বাস্তবায়ন ব্যবহার করে, আর ব্রাউজারে বান্ডল করা JavaScript ব্রাউজারের কনফিগারেশন অনুসরণ করে। সাধারণ WebSocket এন্ডপয়েন্টও Socket.IO সার্ভার নয়।

বিদ্যমান ইভেন্ট ও পুনঃসংযোগ যুক্তি রাখুন, তারপর সংযোগ শেষ হলে ক্লায়েন্ট সংযোগ বিচ্ছিন্ন করুন এবং তার এজেন্ট মুক্ত করুন।

সম্পর্কিত নিবন্ধ