Node-ის სოკეტის connect მოვლენა გეუბნებათ, რომ TCP-მ პროქსის მიაღწია. ის არ ამბობს, რომ პროქსიმ დანიშნულებისკენ კავშირი გახსნა.

SOCKS5 სერვერი აპლიკაციის ტრაფიკამდე ელოდება მეთოდის მოლაპარაკებას, ნებისმიერ არჩეულ ავთენტიფიკაციას და დანიშნულების მოთხოვნას. HTTP მოთხოვნის დაუყოვნებლივ გაგზავნამ შეიძლება სერვერმა კავშირი დახუროს. შემდგომმა ჩაწერამ შეიძლება EPIPE წარმოქმნას.

მხოლოდ EPIPE არ ამტკიცებს handshake-ის არქონას. ის იტყობინება ჩაწერაზე კავშირში, რომლის მეორე მხარე აღარ იღებს ამ კომუნიკაციას. წაიკითხეთ ადრინდელი მოვლენები და პროტოკოლის პასუხები, რათა გაარკვიოთ, რატომ დახურა მეორე მხარემ.

გამოიყენეთ კონექტორი, რომელიც სრულ SOCKS გაცვლას ახორციელებს. Node-ის ძირითადი HTTPS კლიენტისთვის SOCKS-ის მცოდნე აგენტი შეუძლია ამ მოლაპარაკების ჩატარება დანიშნულების TLS-მდე. თუ გაცვლას თავად ახორციელებთ, დააგროვეთ მონაცემები პროტოკოლის ველების სიგრძეების მიხედვით. არ არის გარანტირებული, რომ ერთი data მოვლენა შეიცავს ერთ სრულ პასუხს, და დაბრუნებული მიბმული მისამართი არ უნდა ემთხვეოდეს ერთ ხისტად კოდირებულ ბაიტების სტრიქონს.

დაარეგისტრირეთ შეცდომების დამუშავება სანამ ოპერაცია შეიძლება ჩავარდეს, შეინახეთ კავშირის ეტაპი შეცდომის ანგარიშში და გაგზავნეთ დანიშნულების პროტოკოლი მხოლოდ მოლაპარაკების წარმატების შემდეგ. შეცდომის დაჭერა ხელს უშლის დაუმუშავებელ მოვლენას; ის არ ასწორებს არასწორ გაცვლას.

დაკავშირებული სტატიები