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 सर्वर नहीं है।
मौजूदा इवेंट और पुनःकनेक्शन लॉजिक रखें, फिर कनेक्शन पूरा होने पर क्लाइंट डिस्कनेक्ट करें और उसका एजेंट मुक्त करें।