Node.js ରେ Socket.IO: polling ଓ WebSocket ପାଇଁ SOCKS ଏଜେଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ
Socket.IO ସର୍ଭର URL ଅପରିବର୍ତ୍ତିତ ରଖନ୍ତୁ ଏବଂ ଅପଗ୍ରେଡ୍ ବିଫଳ ହେଲେ ପ୍ରତି-ପରିବହନ ଓଭରରାଇଡ୍ ଯାଞ୍ଚ କରନ୍ତୁ।
import { io } from 'socket.io-client';
import { SocksProxyAgent } from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const socket = io('https://events.example', {
agent,
transports: ['polling', 'websocket'],
});ପ୍ରକୃତ Socket.IO ସେବା ବ୍ୟବହାର କରନ୍ତୁ। Node ଏଜେଣ୍ଟ SOCKS ଉପରେ ଆଲୋଚନା କରେ; socks5h ଲକ୍ଷ୍ୟର DNS ସେହି ପ୍ରକ୍ସିକୁ ଦିଏ। ସାର୍ବଜନୀନ ମଧ୍ୟସ୍ଥମାନଙ୍କ ମାଧ୍ୟମରେ ସାର୍ବଜନୀନ ସେବାର ପରୀକ୍ଷା ଅନୁମତିପ୍ରାପ୍ତ ହେଲେ SOCKS5 ପ୍ରକ୍ସି ତାଲିକାରୁ ମେଳ ଖାଉଥିବା ଏଣ୍ଡପଏଣ୍ଟ ନିଅନ୍ତୁ।
ପରବର୍ତ୍ତୀ WebSocket ଅପଗ୍ରେଡ୍ ବିଫଳ ହେବା ପୂର୍ବରୁ polling ସଫଳ ହୋଇପାରେ। ଉଭୟ ପଥ ଏବଂ ଉପର ସ୍ତରର ଏଜେଣ୍ଟକୁ ଓଭରରାଇଡ୍ କରୁଥିବା ଯେକୌଣସି transportOptions ଯାଞ୍ଚ କରନ୍ତୁ।
ଉଦାହରଣ ଏହି ଦୁଇ ପରିବହନକୁ ଉଦ୍ଦେଶ୍ୟମୂଳକ ଭାବରେ ବ୍ୟବହାର କରେ। WebTransport ଅନ୍ୟ ଏକ କାର୍ଯ୍ୟାନ୍ୱୟନ ବ୍ୟବହାର କରେ, ଏବଂ ବ୍ରାଉଜରରେ ବଣ୍ଡଲ୍ ହୋଇଥିବା JavaScript ବ୍ରାଉଜର ବିନ୍ୟାସ ଅନୁସରଣ କରେ। ସାଧାରଣ WebSocket ଏଣ୍ଡପଏଣ୍ଟ ମଧ୍ୟ Socket.IO ସର୍ଭର ନୁହେଁ।
ବିଦ୍ୟମାନ ଇଭେଣ୍ଟ ଓ ପୁନଃସଂଯୋଗ ତର୍କ ରଖନ୍ତୁ, ତାପରେ ସଂଯୋଗ ଶେଷ ହେଲେ କ୍ଲାଏଣ୍ଟ ବିଚ୍ଛିନ୍ନ କରି ଏହାର ଏଜେଣ୍ଟ ମୁକ୍ତ କରନ୍ତୁ।