SOCKS પ્રોક્સી સાથે કનેક્ટ થયા પછી Node.js EPIPE
SOCKS એન્ડપોઇન્ટ સાથે કનેક્ટ થયા પછી Node ના EPIPE નું અર્થઘટન કરો અને જરૂરી હેન્ડશેક પૂર્ણ થયો છે કે નહીં તે ચકાસો.
Node સોકેટની connect ઇવેન્ટ તમને જણાવે છે કે TCP પ્રોક્સી સુધી પહોંચ્યું છે. એ નથી કહેતી કે પ્રોક્સીએ ગંતવ્ય સાથે કનેક્શન ખોલ્યું છે.
SOCKS5 સર્વર એપ્લિકેશન ટ્રાફિક પહેલાં પદ્ધતિ વાટાઘાટ, પસંદ કરેલી કોઈપણ પ્રમાણીકરણ અને ગંતવ્ય વિનંતીની અપેક્ષા રાખે છે. તરત જ HTTP વિનંતી મોકલવાથી સર્વર કનેક્શન બંધ કરી શકે છે. પછીનું લેખન EPIPE ઉત્પન્ન કરી શકે છે.
એકલું EPIPE હેન્ડશેક ખૂટે છે તેવું સાબિત કરતું નથી. તે એવા કનેક્શન પર લેખનની જાણ કરે છે જેનો સામેનો પક્ષ હવે એ સંચાર સ્વીકારતો નથી. સામેના પક્ષે કેમ બંધ કર્યું તે જાણવા માટે પહેલાંની ઇવેન્ટ અને પ્રોટોકોલ પ્રતિસાદ વાંચો.
સંપૂર્ણ SOCKS વિનિમય અમલમાં મૂકતું કનેક્ટર વાપરો. Node ના મુખ્ય HTTPS ક્લાયન્ટ માટે, SOCKS-જાણકાર એજન્ટ ગંતવ્યના TLS પહેલાં તે વાટાઘાટ કરી શકે છે. જો તમે જાતે વિનિમય અમલમાં મૂકો, તો પ્રોટોકોલના ફીલ્ડ લંબાઈ અનુસાર માહિતી એકઠી કરો. એક data ઇવેન્ટમાં એક સંપૂર્ણ પ્રતિસાદ હશે તેની બાંયધરી નથી, અને પરત મળેલું બાઉન્ડ સરનામું એક હાર્ડકોડ કરેલી બાઇટ શ્રેણી સાથે મેળ ખાવાનું જરૂરી નથી.
ઓપરેશન નિષ્ફળ થઈ શકે તે પહેલાં ભૂલ સંચાલન નોંધો, ભૂલ અહેવાલમાં કનેક્શન તબક્કો જાળવી રાખો, અને વાટાઘાટ સફળ થયા પછી જ ગંતવ્ય પ્રોટોકોલ મોકલો. ભૂલ પકડવાથી અનિયંત્રિત ઇવેન્ટ અટકે છે; પણ તે અમાન્ય વિનિમય સુધારતું નથી.