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 του προορισμού σε αυτό το proxy. Πάρτε ένα αντίστοιχο τελικό σημείο από τη λίστα proxy SOCKS5 όταν επιτρέπονται δοκιμές δημόσιων υπηρεσιών μέσω δημόσιων μεσολαβητών.

Το polling μπορεί να πετύχει πριν αποτύχει μια μεταγενέστερη αναβάθμιση WebSocket. Ελέγξτε και τις δύο διαδρομές και τυχόν transportOptions που παρακάμπτουν τον πράκτορα ανώτατου επιπέδου.

Το παράδειγμα χρησιμοποιεί σκόπιμα αυτές τις δύο μεταφορές. Το WebTransport χρησιμοποιεί άλλη υλοποίηση, και η JavaScript που ενσωματώνεται στο πρόγραμμα περιήγησης ακολουθεί τη διαμόρφωση του προγράμματος περιήγησης. Ένα απλό τελικό σημείο WebSocket επίσης δεν είναι διακομιστής Socket.IO.

Διατηρήστε την υπάρχουσα λογική συμβάντων και επανασύνδεσης, έπειτα αποσυνδέστε τον πελάτη και απελευθερώστε τον πράκτορά του όταν ολοκληρωθούν οι συνδέσεις.

Σχετικά άρθρα