Dogodek connect v vtičnici Node pove, da je TCP dosegel posrednika. Ne pove, da je posrednik odprl povezavo do cilja.

Strežnik SOCKS5 pred prometom aplikacije pričakuje pogajanje o metodi, morebitno izbrano overjanje in zahtevo za cilj. Če zahtevo HTTP pošljete takoj, lahko strežnik zapre povezavo. Kasnejši zapis lahko nato povzroči EPIPE.

EPIPE sam po sebi ne dokazuje manjkajočega handshakea. Poroča o zapisu v povezavo, katere nasprotna stran ne sprejema več te komunikacije. Preberite prejšnje dogodke in odgovore protokola, da ugotovite, zakaj je nasprotna stran zaprla povezavo.

Uporabite konektor, ki izvaja celotno izmenjavo SOCKS. Za osnovnega odjemalca HTTPS v Node lahko agent, ki razume SOCKS, to pogajanje izvede pred TLS cilja. Če izmenjavo izvajate sami, zbirajte podatke glede na dolžine polj protokola. Ni zagotovljeno, da en dogodek data vsebuje en popoln odgovor, in vrnjeni vezani naslov se mu ni treba ujemati z enim trdo zakodiranim nizom bajtov.

Registrirajte obravnavo napak, preden lahko operacija ne uspe, ohranite stopnjo povezave v poročilu o napaki in pošljite protokol cilja šele po uspešnem pogajanju. Lovljenje napake prepreči neobravnavan dogodek; ne popravi neveljavne izmenjave.

Sorodni članki