SOCKS proxy'sine bağlandıktan sonra Node.js EPIPE
SOCKS uç noktasına bağlandıktan sonra Node'daki EPIPE hatasını yorumlayın ve gerekli handshake'in tamamlanıp tamamlanmadığını kontrol edin.
Node soketinin connect olayı, TCP'nin proxy'ye ulaştığını söyler. Proxy'nin hedefe bir bağlantı açtığını söylemez.
Bir SOCKS5 sunucusu, uygulama trafiğinden önce yöntem pazarlığı, seçilen kimlik doğrulama ve hedef isteği bekler. Hemen bir HTTP isteği göndermek sunucunun bağlantıyı kapatmasına yol açabilir. Sonraki bir yazma işlemi ardından EPIPE üretebilir.
EPIPE tek başına eksik bir handshake'i kanıtlamaz. Karşı tarafın artık bu iletişimi kabul etmediği bir bağlantıya yazma yapıldığını bildirir. Karşı tarafın neden kapattığını bulmak için önceki olayları ve protokol yanıtlarını okuyun.
Tam SOCKS alışverişini uygulayan bir bağlayıcı kullanın. Node'un çekirdek HTTPS istemcisi için SOCKS'i anlayan bir aracı, bu pazarlığı hedefin TLS'inden önce gerçekleştirebilir. Alışverişi kendiniz uyguluyorsanız verileri protokolün alan uzunluklarına göre biriktirin. Tek bir data olayının tek bir tam yanıt içerdiği garanti değildir ve döndürülen bağlı adresin kodda sabitlenmiş tek bir bayt dizisiyle eşleşmesi gerekmez.
İşlem başarısız olmadan önce hata işlemeyi kaydedin, hata raporunda bağlantı aşamasını saklayın ve hedef protokolünü yalnızca pazarlık başarılı olduktan sonra gönderin. Hatayı yakalamak işlenmemiş bir olayı önler; geçersiz bir alışverişi onarmaz.