Node.js లో Socket.IO: polling మరియు WebSocket కోసం SOCKS ఏజెంట్ను ఉపయోగించండి
Socket.IO సర్వర్ URL ను మార్చకుండా ఉంచి, అప్గ్రేడ్ విఫలమైతే ప్రతి రవాణా ఓవర్రైడ్లను తనిఖీ చేయండి.
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 సర్వర్ కాదు.
ఉన్న ఈవెంట్ మరియు తిరిగి కనెక్ట్ లాజిక్ను ఉంచి, కనెక్షన్లు ముగిసిన తర్వాత క్లయింట్ను డిస్కనెక్ట్ చేసి దాని ఏజెంట్ను విడుదల చేయండి.