« Tüm yayınlar

Görünmez Sunucu Hatası: Java HTTP Sunucusu Deneyimim

Java ile bare-metal bir HTTP sunucusu inşa ederken karşılaştığım hataları ve I/O'nun önemini keşfettim.

Bu makalede, Java ile çerçeve kullanmadan bir HTTP sunucusu inşa etme sürecimi paylaşıyorum. İlk haftada, her şeyin tek bir main() metodunda toplandığı basit bir yapı ile başladım. Ancak, kodu daha modüler hale getirmeye çalışırken, bir hata ile karşılaştım: yanıtı göndermeden soketi kapattığım için yanıt hiç ulaşmadı.

Hatanın kaynağı, Java'nın I/O yapısının karmaşıklığıydı. Yanıtı yazdıktan sonra, yazıcıyı flush etmeden soketi kapatmak, verinin kaybolmasına neden oldu. Bu deneyim, Java'nın I/O tasarımının neden bu kadar katmanlı olduğunu anlamamı sağladı ve sistemin açık-kapalı ilkesinin nasıl işlediğini gösterdi.