NodeJS Network Hata Kodları ve Anlamları

Nodejs üzerinde çalışırken özellikle networking; fetch, request vs. sırasında karşılaştığım birkaç hata kodunun (ECONNRESET, ETIMEDOUT vs.) aslında ne olduğunu koddan tahmin edebilirken, çoğunun ayrıntısı konusunda bilgi sahibi olmadığımı fark edip, bu kodların tam olarak hangi durumlarda throw edildiğini araştırmak istedim.

Bu sonucu ayrıca blogumda paylaşmak, sonrasında benim için kontrol etmek veya aynı şekilde bu hataların nedenlerini merak edenler için fayda sağlayabileceğini düşünüyorum.

NodeJS Network Hata Kodları

ETIMEDOUT (Operation timed out): Bağlantı veya gönderilen isteğin, geçerli zamanda istek yapılan adres tarafından işlenmediğini belirtir. O anda istek yapan cihazın bağlantısı yavaş olabilir veya istek yapılan sunucu o anda çok fazla istek aldığından veya bağlantısı yavaş olduğundan yeterince hızlı cevap veremiyor olabilir.

ECONNRESET (Connection reset by peer): Bağlantı, istek yapılan sunucu tarafından sonlandırıldı. Burada istek yapılan sunucu istek yapan'a RST paketi gönderir ve bu da el sıkışma olmadan bağlantının durdurulmasını belirtir. Bunun nedeni istek yapılan sunucudaki timeout veya reboot olabilir.

Örnek olarak node-fetch ile yaptığım isteklerde arada karşılaştığım bir hata, genellikle hata oluşan işlem için işlem tekrar gerçekleştirtiğimde bağlantı sağlıyorum. Fetch tarafından verilen bir örnek hata mesajı şöyle;

  message: 'request to https://***** failed, reason: socket hang up',
  type: 'system',

ECONNREFUSED (Connection refused): Bağlantı sağlanılamadı, çünkü isteğin yapıldığı sunucu sürekli olarak isteği geri çevirmekte. Bunun nedeni büyük ihtimalle, isteği işleyecek olan uygulama (web servisi) isteğin yapıldığı anda çalışmıyor.

Networke ek olarak tüm sistem hataları için: https://nodejs.org/api/all.html#errors_common_system_errors

Yorumları Göster veya Yeni Yorum Yaz