Noden ws-asiakkaan yhdistäminen HTTP-välityspalvelinagentin kautta
Anna HttpsProxyAgent Noden ws-konstruktorille, jotta WebSocket-kättely kulkee edelleenvälittävän välityspalvelimen kautta.
Noden paketti ws hyväksyy HTTP-agentin yhteysasetuksissaan. Edelleenvälittävälle välityspalvelimelle ES-moduulin osa voi käyttää HttpsProxyAgentiä:
import WebSocket from 'ws';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://proxy.example.net:8080');
const socket = new WebSocket('wss://socket.example.net/events', {
agent,
});
socket.on('error', error => {
console.error(error.message);
});
Tämä olettaa, että molemmat paketit ovat jo osa sovellusta. WebSocket-URL valitsee palvelun ja agentin URL välityspalvelimen. HTTP-välityspalvelinluettelosta peräisin oleva HTTP-osoite voi täyttää agentin URL:n sallittua julkista WSS-testiä varten ilman välityspalvelimen tunnuksia; tarkista pääsy palvelun todelliseen päätepisteeseen.
HttpsProxyAgent muodostaa HTTP CONNECT -tunnelin ja luovuttaa yhdistetyn siirtokerroksen asiakkaalle. Se tukee WebSocket-yhteyksiä ja HTTPS-pyyntöjä, joten sovelluksen ei tarvitse rakentaa CONNECT-vaihtoa itse.
Jatka sovelluksen tavallisella open-, message- ja close-käsittelyllä. open-tapahtuma merkitsee WebSocket-kättelyn valmistumisen valitulla reitillä; pelkkä JavaScript-olion luominen ei ole sitä suorittanut.