Mae pecyn ws Node yn derbyn asiant HTTP yn ei opsiynau cysylltu. Ar gyfer dirprwy ymlaen, gall darn o fodiwl ES ddefnyddio HttpsProxyAgent:

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);
});

Mae hyn yn tybio bod y ddau becyn eisoes yn rhan o'r rhaglen. Mae URL y WebSocket yn dewis y gwasanaeth, ac mae URL yr asiant yn dewis y dirprwy. Gall cyfeiriad HTTP o'r rhestr dirprwyon HTTP lenwi URL yr asiant ar gyfer prawf WSS cyhoeddus a ganiateir heb fanylion dirprwy; gwiriwch fynediad i bwynt terfyn go iawn y gwasanaeth.

Mae HttpsProxyAgent yn sefydlu twnnel HTTP CONNECT ac yn rhoi'r trafnidiaeth gysylltiedig i'r cleient. Mae'n cefnogi cysylltiadau WebSocket yn ogystal â cheisiadau HTTPS, felly nid oes rhaid i'r rhaglen adeiladu'r cyfnewid CONNECT ei hun.

Parhewch â thrin arferol open, message a close y rhaglen. Mae'r digwyddiad open yn nodi bod ysgydwad llaw WebSocket wedi'i gwblhau ar y llwybr a ddewiswyd; nid yw creu'r gwrthrych JavaScript ar ei ben ei hun wedi'i gwblhau.

Erthyglau cysylltiedig