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.

Aiheeseen liittyvät artikkelit