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 ಸರ್ವರ್ ಅಲ್ಲ.
ಇರುವ ಇವೆಂಟ್ ಮತ್ತು ಮರುಸಂಪರ್ಕ ತರ್ಕವನ್ನು ಉಳಿಸಿ, ನಂತರ ಸಂಪರ್ಕಗಳು ಮುಗಿದ ಮೇಲೆ ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ ಅದರ ಏಜೆಂಟ್ ಬಿಡುಗಡೆ ಮಾಡಿ.