Skip to main content
Web Geliştirme

WebSocket Nedir? Gerçek Zamanlı İletişim Rehberi

Mart 15, 2026 3 dk okuma 17 views Raw
WebSocket gerçek zamanlı iletişim teknolojisi görseli
İçindekiler

WebSocket Nedir?

WebSocket, istemci ve sunucu arasında çift yönlü, kalıcı bir iletişim kanalı kuran bir protokoldür. Geleneksel HTTP'nin istek-yanıt modelinden farklı olarak, WebSocket bağlantısı bir kez kurulduktan sonra her iki taraf da istedikleri zaman veri gönderebilir. Bu özellik, gerçek zamanlı uygulamalar için vazgeçilmez bir teknoloji haline gelmiştir.

WebSocket vs HTTP: Temel Farklar

ÖzellikHTTPWebSocket
İletişim yönüTek yönlü (istek-yanıt)Çift yönlü (full-duplex)
BağlantıHer istekte yeniden kurulurKalıcı bağlantı
GecikmeYüksek (overhead)Düşük
Sunucu pushDesteklenmezDesteklenir
Protokolhttp:// veya https://ws:// veya wss://

WebSocket Nasıl Çalışır?

WebSocket bağlantısı üç aşamada gerçekleşir:

  1. El sıkışma (Handshake): İstemci, HTTP üzerinden bir yükseltme isteği gönderir. Sunucu bu isteği kabul ederse bağlantı WebSocket protokolüne yükseltilir.
  2. Veri iletimi: Bağlantı kurulduktan sonra her iki taraf da çerçeveler (frames) halinde veri gönderebilir. Bu çerçeveler metin veya ikili veri içerebilir.
  3. Bağlantı kapatma: Taraflardan biri kapatma çerçevesi göndererek bağlantıyı sonlandırır.

WebSocket Kullanım Alanları

Canlı Sohbet Uygulamaları

WhatsApp Web, Slack ve benzeri sohbet uygulamaları WebSocket kullanarak anlık mesajlaşma sağlar. Mesajlar milisaniyeler içinde karşı tarafa ulaşır ve yeni mesaj kontrolü için sürekli sunucuya istek göndermeye gerek kalmaz.

Canlı Veri Akışları

Borsa verileri, kripto para fiyatları ve spor skorları gibi sürekli güncellenen veriler WebSocket ile anlık olarak aktarılır. Ekolsoft olarak geliştirdiğimiz uygulamalarda gerçek zamanlı veri akışı ihtiyaçlarında WebSocket teknolojisini etkin şekilde kullanıyoruz.

Çok Oyunculu Oyunlar

Online oyunlarda oyuncu hareketleri ve oyun durumu WebSocket üzerinden senkronize edilir. Düşük gecikme süresi, akıcı oyun deneyimi için kritik öneme sahiptir.

İşbirliği Araçları

Google Docs benzeri eş zamanlı düzenleme araçları, birden fazla kullanıcının aynı belge üzerinde çalışmasını WebSocket sayesinde mümkün kılar.

JavaScript ile WebSocket Kullanımı

Tarayıcılarda WebSocket API'si doğal olarak desteklenir. Bağlantı kurma, mesaj gönderme ve alma işlemleri birkaç satır kodla gerçekleştirilebilir:

  • Bağlantı açma: WebSocket nesnesi oluşturularak sunucuya bağlantı kurulur
  • Mesaj gönderme: send metodu ile metin veya ikili veri gönderilir
  • Mesaj alma: onmessage olayı ile gelen mesajlar yakalanır
  • Hata yönetimi: onerror ve onclose olayları ile bağlantı sorunları ele alınır

Sunucu Tarafında WebSocket

Node.js ile WebSocket

Node.js ekosisteminde ws kütüphanesi ve Socket.IO gibi araçlar WebSocket sunucusu oluşturmayı kolaylaştırır. Socket.IO, otomatik yeniden bağlantı ve oda (room) desteği gibi ek özellikler sunar.

ASP.NET Core ile SignalR

Microsoft'un SignalR kütüphanesi, WebSocket üzerinde çalışan güçlü bir gerçek zamanlı iletişim framework'üdür. Otomatik protokol seçimi ve grup yönetimi gibi gelişmiş özellikler içerir.

WebSocket Güvenliği

WebSocket uygulamalarında güvenlik kritik bir konudur:

  • WSS kullanımı: Üretim ortamında mutlaka wss:// (şifreli) protokolü kullanılmalıdır
  • Origin kontrolü: Sunucu tarafında bağlantı kaynaklarının doğrulanması gerekir
  • Kimlik doğrulama: Bağlantı kurulmadan önce token tabanlı kimlik doğrulama uygulanmalıdır
  • Rate limiting: Kötüye kullanımı önlemek için mesaj hızı sınırlandırılmalıdır
  • Veri doğrulama: Gelen tüm veriler sunucu tarafında doğrulanmalıdır

WebSocket Alternatifleri

Her senaryo için WebSocket en uygun çözüm olmayabilir. Alternatif teknolojiler şunlardır:

  • Server-Sent Events (SSE): Sadece sunucudan istemciye tek yönlü veri akışı
  • Long Polling: HTTP üzerinden simüle edilmiş gerçek zamanlı iletişim
  • WebTransport: HTTP/3 üzerinde çalışan yeni nesil protokol

WebSocket, gerçek zamanlı web uygulamalarının temel taşıdır. Doğru senaryolarda kullanıldığında kullanıcı deneyimini önemli ölçüde iyileştirir ve sunucu kaynaklarını verimli kullanır.

Sonuç

WebSocket teknolojisi, modern web uygulamalarında gerçek zamanlı iletişim ihtiyacını karşılayan güçlü bir protokoldür. Sohbet uygulamalarından canlı veri akışlarına, işbirliği araçlarından oyunlara kadar geniş bir kullanım alanına sahiptir. Ekolsoft'un yazılım geliştirme süreçlerinde WebSocket, müşterilerimize anlık ve etkileşimli deneyimler sunmamızı sağlayan temel teknolojilerden biridir.

Bu yazıyı paylaş