Node.js EPIPE no der Verbindung mat engem SOCKS-Proxy
Interpretéiert Node säin EPIPE no der Verbindung mat engem SOCKS-Endpunkt a kontrolléiert, ob den néidegen Handshake fäerdeg gouf.
D'connect-Evenement vum Node-Socket seet Iech, datt TCP de Proxy erreecht huet. Et seet net, datt de Proxy eng Verbindung zum Zil opgemaach huet.
E SOCKS5-Server erwaart Methodeverhandlung, eng eventuell gewielten Authentifikatioun an eng Zilufro virum Applikatiounstrafic. Eng HTTP-Ufro direkt ze schécke kann de Server d'Verbindung zoumaache loossen. Eng méi spéit Schreifweis kann dann EPIPE erzeugen.
EPIPE eleng beweist keen fehlenden Handshake. Et mellt eng Schreifweis op eng Verbindung, där hire Géigendeel déi Kommunikatioun net méi akzeptéiert. Liest déi fréier Evenementer an d'Protokolläntwerten, fir erauszefannen, firwat de Géigendeel zougemaach huet.
Benotzt en Connector, deen de kompletten SOCKS-Austausch implementéiert. Fir dem Node säin Kär-HTTPS-Client kann en SOCKS-bewussten Agent déi Verhandlung virum TLS vum Zil duerchféieren. Wann Dir den Austausch selwer implementéiert, sammelt Donnéeën no de Feldlängte vum Protokoll. Et ass net garantéiert, datt een data-Evenement eng komplett Äntwert enthält, an d'zréckgeliwwert gebonnen Adress muss net mat enger haardkodéierter Byteketten iwwereneestëmmen.
Registréiert d'Fehlerbehandlung, ier d'Operatioun ka feelen, behält d'Verbindungsphase am Fehlerbericht a schéckt de Zilprotokoll eréischt no erfollegräicher Verhandlung. D'Fehler ofzfänke verhënnert en onbehandelt Evenement; et reparéiert awer keen ongültegen Austausch.