Haɗa abokin ciniki ws na Node ta hanyar wakilin HTTP proxy
Ba da HttpsProxyAgent ga maginin ws na Node domin musafaha na WebSocket ya bi ta proxy na gaba.
Fakiti ws na Node yana karɓar wakilin HTTP a cikin zaɓuɓɓukan haɗin sa. Don proxy na gaba, guntun module na ES na iya amfani da 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);
});
Wannan yana ɗauka cewa duka fakiti biyu sun riga sun kasance ɓangare na aikace-aikacen. Adireshin WebSocket yana zaɓar sabis ɗin, adireshin wakili kuma yana zaɓar proxy ɗin. Adireshin HTTP daga jerin proxy na HTTP na iya cika adireshin wakili don gwajin WSS na jama'a da aka yarda ba tare da takardun shaidar proxy ba; duba damar shiga ainihin ƙarshen sabis ɗin.
HttpsProxyAgent yana kafa ramin HTTP CONNECT kuma yana miƙa jigilar da aka haɗa ga abokin ciniki. Yana tallafawa haɗin WebSocket da kuma buƙatun HTTPS, don haka aikace-aikacen baya buƙatar gina musayar CONNECT da kansa.
Ci gaba da yadda aikace-aikacen ke sarrafa open, message da close. Lamarin open yana nuna kammala musafaha na WebSocket a kan hanyar da aka zaɓa; ƙirƙirar abin JavaScript kawai bai kammala shi ba.