Настанот connect на Node сокетот ви кажува дека TCP стигнал до проксито. Не кажува дека проксито отворило врска до дестинацијата.

SOCKS5 серверот очекува преговарање на методот, избрана автентикација и барање за дестинација пред сообраќајот на апликацијата. Ако веднаш испратите HTTP барање, серверот може да ја затвори врската. Подоцнежното пишување тогаш може да предизвика EPIPE.

EPIPE сам по себе не докажува недостаток на handshake. Тој пријавува пишување кон врска чија спротивна страна повеќе не ја прифаќа таа комуникација. Прочитајте ги претходните настани и одговорите на протоколот за да дознаете зошто страната ја затворила врската.

Користете конектор што ја спроведува целосната SOCKS размена. За основниот HTTPS клиент на Node, агент што го разбира SOCKS може да го изврши тоа преговарање пред TLS-от на дестинацијата. Ако размената ја спроведувате сами, акумулирајте податоци според должините на полињата на протоколот. Не е гарантирано дека еден data настан содржи еден целосен одговор, а вратената врзана адреса не мора да одговара на една тврдо кодирана низа бајти.

Регистрирајте ракување со грешки пред операцијата да може да не успее, задржете ја фазата на врската во извештајот за грешка и испратете го протоколот на дестинацијата само по успешно преговарање. Фаќањето на грешката спречува необработен настан; но не поправа невалидна размена.

Поврзани статии