0Pricing
React Academy · Ders

SSE, WebSockets ve Yoklama Karşılaştırması

SSE'yi (tek yönlü gönderim), WebSockets'i (çift yönlü iletişim) ve yoklamayı kullanım alanına uygunluk ve karmaşıklık açısından karşılaştırın

SSE, WebSockets ve Yoklama Karşılaştırması, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

WebSockets: Çift Yönlü Kalıcı Bağlantı

WebSockets, istemci ile sunucu arasında kalıcı bir TCP bağlantısı kurar. Her iki taraf da istediği zaman mesaj gönderebilir; bu nedenle WebSockets, gerçekten etkileşimli gerçek zamanlı iletişim için idealdir: sohbet uygulamaları, ortaklaşa belge düzenleme, çok oyunculu oyunlar ve canlı imleçler. Bağlantı, taraflardan biri açıkça kapatana kadar açık kalır.

Sunucudan Gönderilen Olaylar: Tek Yönlü İletim

SSE (Sunucudan Gönderilen Olaylar), sunucunun verileri bir dizi olay halinde istemciye akıttığı normal bir HTTP bağlantısı kullanır. Bağlantı tek yönlüdür: yalnızca sunucu veri gönderir. İstemci, SSE bağlantısı üzerinden geri mesaj gönderemez; bunun için ayrı HTTP istekleri yapar. SSE, EventSource tarayıcı API'si aracılığıyla uygulanır.

Kısa Yoklama: En Basit, En İsraflı

Kısa yoklama, istemcinin sabit bir aralıkta (örneğin her 5 saniyede bir) HTTP isteği göndermesi anlamına gelir: "Herhangi bir güncelleme var mı?" Sunucu, güncel verilerle hemen yanıt verir. Bu, uygulanması en basit yöntemdir ancak en fazla kaynak israfına neden olur; yeni hiçbir şey olmadığında istemci çok sayıda istek gönderir. Yalnızca çok yavaş değişen veriler için uygundur.

Uzun Yoklama: Sunucu Yanıtı Bekletir

Uzun yoklama, kısa yoklamayı geliştirir: istemci bir istek gönderir ve sunucu, yeni veriler kullanılabilir olana kadar bağlantıyı açık tutar. Yeni veriler geldiğinde sunucu yanıt verir ve istemci hemen başka bir istek gönderir. Bu, gereksiz yanıtları azaltır; ancak her yanıt yeni bir TCP bağlantısının kurulmasını gerektirdiğinden SSE'ye göre ek yükü daha fazladır.

SSE'nin Avantajları

SSE'nin sunucudan istemciye veri itme açısından WebSockets'e göre birçok pratik avantajı vardır: normal HTTP üzerinden çalışır (protokol yükseltmesi gerekmez), bu nedenle özel yapılandırma olmadan kurumsal vekil sunuculardan ve yük dengeleyicilerden geçebilir. EventSource, otomatik yeniden bağlanma özelliğini yerleşik olarak sunar. Metin tabanlı protokol, tarayıcının ağ sekmesinde kolayca hata ayıklanmasını sağlar.

SSE'nin Sınırlamaları

SSE'nin gerçek sınırlamaları vardır: yalnızca metin kullanır (ikili veriler base64 ile kodlanmalıdır), tek yönlüdür (istemci geri veri gönderemez) ve HTTP/1.1, alan adı başına eşzamanlı EventSource bağlantısı sayısını 6 ile sınırlar (HTTP/2, tek bir bağlantı üzerinden çoklama yaparak bu sınırı kaldırır). Çift yönlü iletişim için SSE, tamamlayıcı REST çağrıları gerektirir.

SSE Kullanım Alanları

SSE; gerçek zamanlı ölçümleri gösteren canlı panolar, yeni uyarıları gönderen bildirim akışları, uzun süren sunucu işlemleri için ilerleme çubukları, canlı sosyal medya akışları, hisse senedi fiyatı göstergeleri ve mesajların yalnızca sunucudan istemciye aktığı sohbet arayüzleri için idealdir (mesajları ayrı POST istekleriyle gönderirsiniz). Bunların tümü, güncellemeleri sunucunun başlattığı senaryolardır.

WebSocket Kullanım Alanları

Düşük gecikmeli çift yönlü iletişime ihtiyaç duyduğunuzda WebSockets gereklidir: mesajların tek bağlantı üzerinden iki yönde aktığı gerçek zamanlı sohbet, ortaklaşa düzenleme (Google Docs tarzı), hem istemci eylemlerinin hem de sunucu güncellemelerinin hızla gerçekleştiği çok oyunculu oyunlar, canlı açık artırmalar ve alım satım platformları. Çift yönlülük, ek karmaşıklığı haklı çıkarır.

HTTP/2 ve SSE

HTTP/2, SSE'nin kullanılabilirliğini önemli ölçüde artırır. Bağlantı çoklama özelliği, bir alandaki tüm SSE akışlarının tek bir TCP bağlantısını paylaşmasını sağlayarak alan adı başına bağlantı sınırını kaldırır. Sunucunuz HTTP/2'yi destekliyorsa SSE, aynı anda birden çok veri akışı bulunan panolar için daha da kullanışlı hale gelir.

Doğru Teknolojiyi Seçme

Karar çerçevesi: düşük gecikmeli çift yönlü iletişime ihtiyacınız varsa → WebSockets. Sunucu güncellemeleri gönderiyor ve istemci yalnızca okuyorsa → SSE. Seyrek güncellemelere ihtiyacınız varsa ve basitlik önemliyse → yoklama. Sunucu API'si zaten varsa ve SSE ekleyemiyorsanız → yoklama. Gecikme gereksinimlerinizi karşılayan en basit çözümle başlayın.

Protokol Ek Yükü Karşılaştırması

WebSocket çerçevelemesi, ilk el sıkışmadan sonra her mesaja 2-14 bayt ekler. SSE, bağlantı başına bir kez HTTP üst bilgileri ekler ve ardından satır sonlarıyla ayrılmış metin gönderir. Kısa yoklama, her yoklamada HTTP istek ve yanıt üst bilgilerinin tamamını içerir. Yüksek frekanslı verilerde ek yük açısından WebSockets kazanır. Seyrek sunucu itmeleri için SSE daha basittir ve kabul edilebilir bir ek yüke sahiptir.

SSE ve WebSockets'te Yönlülük

SSE ile WebSockets arasındaki temel yön farkı nedir?

Ders Özeti: Gerçek Zamanlı Teknolojilerin Karşılaştırması

WebSockets: çift yönlü, kalıcı TCP bağlantısı (sohbet, oyunlar, ortaklaşa düzenleme). SSE: EventSource API'si üzerinden tek yönlü, sunucudan istemciye HTTP veri itme (bildirimler, panolar, akışlar). Kısa yoklama: sabit aralıklarla istekler (en basit, en israflı). Uzun yoklama: sunucu, veriler kullanılabilir olana kadar yanıtı bekletir (daha az istek, daha yüksek gecikme). SSE'nin avantajları: vekil sunucular üzerinden çalışması, otomatik yeniden bağlanma. SSE'nin sınırlamaları: yalnızca metin, tek yönlülük, HTTP/1.1 bağlantı sınırları.

Sıkça Sorulan Sorular

“SSE, WebSockets ve Yoklama Karşılaştırması” dersi ücretsiz mi?

Evet — “SSE, WebSockets ve Yoklama Karşılaştırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“SSE, WebSockets ve Yoklama Karşılaştırması” dersinde ne öğreneceğim?

SSE'yi (tek yönlü gönderim), WebSockets'i (çift yönlü iletişim) ve yoklamayı kullanım alanına uygunluk ve karmaşıklık açısından karşılaştırın React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“SSE, WebSockets ve Yoklama Karşılaştırması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. SSE, WebSockets ve Yoklama Karşılaştırması
  2. EventSource ile React'te SSE Akışlarını Tüketme
  3. Uzun Yoklama Deseni ve Yeniden Bağlanma Mantığı
  4. Gerçek Zamanlı Bildirim Akışı Oluşturma
← React Academy Sayfasına Dön