ភ្ជាប់អតិថិជន ws របស់ Node តាមភ្នាក់ងារ HTTP proxy
ផ្ដល់ HttpsProxyAgent ទៅអ្នកបង្កើត ws របស់ Node ដើម្បីឱ្យ WebSocket handshake ឆ្លងកាត់ forward proxy។
កញ្ចប់ ws របស់ Node ទទួលយកភ្នាក់ងារ HTTP នៅក្នុងជម្រើសតភ្ជាប់របស់វា។ សម្រាប់ forward proxy បំណែកម៉ូឌុល ES អាចប្រើ 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);
});
នេះសន្មតថាកញ្ចប់ទាំងពីរជាផ្នែកនៃកម្មវិធីរួចហើយ។ URL របស់ WebSocket ជ្រើសសេវា ហើយ URL របស់ភ្នាក់ងារជ្រើស proxy។ អាសយដ្ឋាន HTTP ពីបញ្ជី proxy HTTP អាចបំពេញ URL របស់ភ្នាក់ងារសម្រាប់ការសាកល្បង WSS សាធារណៈដែលអនុញ្ញាតដោយគ្មានព័ត៌មានសម្គាល់ proxy; ពិនិត្យការចូលទៅចំណុចបញ្ចប់សេវាពិតប្រាកដ។
HttpsProxyAgent បង្កើតផ្លូវរូង HTTP CONNECT ហើយប្រគល់ការដឹកជញ្ជូនដែលបានតភ្ជាប់ទៅអតិថិជន។ វាគាំទ្រការតភ្ជាប់ WebSocket និងសំណើ HTTPS ដូច្នេះកម្មវិធីមិនចាំបាច់បង្កើតការផ្លាស់ប្ដូរ CONNECT ដោយខ្លួនឯងទេ។
បន្តជាមួយការគ្រប់គ្រងធម្មតានៃ open, message និង close ក្នុងកម្មវិធី។ ព្រឹត្តិការណ៍ open បង្ហាញថា WebSocket handshake បានបញ្ចប់នៅលើផ្លូវដែលបានជ្រើស; ការបង្កើតវត្ថុ JavaScript តែម្នាក់ឯងមិនបានបញ្ចប់វាទេ។