Merhabalar, kolay gelsin herkese iyi haftasonları
Başlıkta da belirttiğim üzere bu kavramları öğrenmek ve daha iyi kavramak için kaynak yada video var mıdır? Kişisel olarak açıklamalarınızı da duymak isterim,
Bu kavramlar nedir? Nasıl öğrenmeliyim, hangi kaynaklar iyidir.
Şimdiden cevaplarınız için teşekkürler.
JavaScript : WebSocket ve API Kavramları Nedir?
1
●68
- 03-06-2023, 10:58:16
- 12-06-2023, 13:11:38Normalde TCP, UDP gibi iletişim yöntemleri vardır ve aslında bütün bilgisayarlar arası iletişim (FTP, HTTP, WebSockets) bu alt seviyeli iletişim protokollerini kullanır. Bunlar işletim sistemi üzerinde soyutlanır yani browser'lar, masaüstü yazılımlar bu protokolleri tekrar tekrar yazmazlar, işletim sisteminden alır kullanırlar. Bu protokollerde ağ iletişimi için gereken en temel header'lar, verileri temsil eden meta veriler vardır. Bunların kullandıkları bir alt protokol ise kısaca Socket iletişimi olarak geçer. Socket bir elektrik prizi gibi düşünülebilir. IP adresi ise elektrik taşıyan kablo gibi düşünebilirsiniz. Veri bir soketten girer, IP üzerinden ilerler başka bir sokete ulaşır ve soket üzerinden o bilgisayara teslim edilir. Teslim alınan veri TCP veya UDP katmanına teslim edilir o katman da kendi formatına göre veriyi ayrıştırır ve soketin sahibi olan tüketici process'a (yazılım) teslim eder. Yani TCP ve UDP birer dosya formatı gibi düşünülebilir.
WebSocket ise bağlantının sürekli açık tutulduğu TCP kullanan bir üst protokoldür. Web siteleri ise HTTP ve türevlerini kullanır. HTTP'de sunucuya request göndermek için bir iletişim kanalı açılır. Sunucu bir yanıt hazırlayana kadar bu kanalı aktif tutar, yanıt hazır olunca bu kanaldan teslim eder ve bağlantıyı kapatır. WebSocket protokolünde ise client önce HTTP üzerinden bir handshake isteği gönderir ve iki yönlü yeni bir bağlantı açılıp bir daha kapatılmaz. Sunucu herhangi bir anda sizinle iletişime geçebilir. Siz de client olarak herhangi bir anda iletişime geçip mesajlaşabilirsiniz. Böylece sunucu tarafında olay bazlı uygulamalar oluşturup olay gerçekleştiğinde olayı ilgilendiren taraflar sunucuya bağlı iseler bunlara olayı bildirebildiğiniz uygulamalar oluşturmak mümkün hale gelir.