HTTP പ്രോക്സി ഏജന്റ് വഴി Node-ന്റെ ws ക്ലയന്റ് ബന്ധിപ്പിക്കുക
Node ws കൺസ്ട്രക്ടറിലേക്ക് HttpsProxyAgent നൽകി WebSocket ഹാൻഡ്ഷേക്ക് ഫോർവേഡ് പ്രോക്സിയിലൂടെ പോകാൻ അനുവദിക്കുക.
Node-ന്റെ ws പാക്കേജ് അതിന്റെ കണക്ഷൻ ഓപ്ഷനുകളിൽ HTTP ഏജന്റ് സ്വീകരിക്കുന്നു. ഫോർവേഡ് പ്രോക്സിക്ക്, 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);
});
ഇത് രണ്ട് പാക്കേജുകളും ഇതിനകം ആപ്ലിക്കേഷന്റെ ഭാഗമാണെന്ന് കരുതുന്നു. WebSocket URL സേവനം തിരഞ്ഞെടുക്കുന്നു, ഏജന്റ് URL പ്രോക്സി തിരഞ്ഞെടുക്കുന്നു. HTTP പ്രോക്സി പട്ടികയിൽ നിന്നുള്ള ഒരു HTTP വിലാസത്തിന് പ്രോക്സി ക്രെഡൻഷ്യലുകളില്ലാതെ അനുവദിച്ച പൊതു WSS പരിശോധനയ്ക്കായി ഏജന്റ് URL പൂരിപ്പിക്കാം; യഥാർത്ഥ സേവന എൻഡ്പോയിന്റിലേക്കുള്ള ആക്സസ് പരിശോധിക്കുക.
HttpsProxyAgent ഒരു HTTP CONNECT തുരങ്കം സ്ഥാപിക്കുന്നു, ബന്ധിപ്പിച്ച ട്രാൻസ്പോർട്ട് ക്ലയന്റിന് നൽകുന്നു. WebSocket കണക്ഷനുകളും HTTPS അഭ്യർത്ഥനകളും ഇത് പിന്തുണയ്ക്കുന്നു, അതിനാൽ ആപ്ലിക്കേഷന് CONNECT കൈമാറ്റം സ്വയം നിർമ്മിക്കേണ്ടതില്ല.
ആപ്ലിക്കേഷന്റെ സാധാരണ open, message, close കൈകാര്യം തുടരുക. തിരഞ്ഞെടുത്ത വഴിയിൽ WebSocket ഹാൻഡ്ഷേക്ക് പൂർത്തിയായതിനെ open ഇവന്റ് സൂചിപ്പിക്കുന്നു; JavaScript ഒബ്ജക്റ്റ് മാത്രം സൃഷ്ടിച്ചത് അത് പൂർത്തിയാക്കിയിട്ടില്ല.