Node.js EPIPE eftir tengingu við SOCKS milliþjón
Túlkið EPIPE í Node eftir tengingu við SOCKS-endapunkt og athugið hvort nauðsynleg handshake lauk.
connect-atburður Node-socketins segir þér að TCP hafi náð milliþjóninum. Hann segir ekki að milliþjónninn hafi opnað tengingu við áfangastaðinn.
SOCKS5-þjónn væntir aðferðarsamninga, hvers kyns valinnar auðkenningar og beiðni um áfangastað áður en umferð forritsins hefst. Að senda HTTP-beiðni strax getur valdið því að þjónninn lokar tengingunni. Síðari skrif geta þá myndað EPIPE.
EPIPE eitt og sér sannar ekki að handshake vanti. Það tilkynnir skrif á tengingu sem mótaðilinn tekur ekki lengur við þessum samskiptum. Lestu fyrri atburði og svör samskiptareglanna til að komast að því hvers vegna mótaðilinn lokaði.
Notið tengi sem útfærir full ryk SOCKS-skipti. Fyrir kjarna-HTTPS-biðlara Node getur SOCKS-meðvitaður umboðsmaður framkvæmt þann samning fyrir TLS áfangastaðarins. Ef þú útfærir skiptin sjálf/ur skaltu safna gögnum samkvæmt reitalengdum samskiptareglanna. Ekki er tryggt að einn data-atburður innihaldi eitt fullt svar, og bundið vistfang sem skilað er þarf ekki að passa við eina harðkóðaða bætarunu.
Skráið villumeðferð áður en aðgerðin getur mistekist, haldið tengistiginu í villuskýrslunni og sendið áfangastaðarsamskiptareglurnar aðeins eftir að samningnum hefur tekist. Að grípa villuna kemur í veg fyrir ómeðhöndlaðan atburð; hún lagar ekki ógilt skipti.