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 ਸੰਭਾਲ ਨਾਲ ਅੱਗੇ ਵਧੋ। open ਘਟਨਾ ਚੁਣੇ ਗਏ ਰਸਤੇ 'ਤੇ WebSocket ਹੈਂਡਸ਼ੇਕ ਪੂਰਾ ਹੋਣ ਦਾ ਸੰਕੇਤ ਦਿੰਦੀ ਹੈ; ਸਿਰਫ਼ JavaScript ਆਬਜੈਕਟ ਬਣਾਉਣਾ ਇਸਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦਾ।