JavaScript WebSockets Nasıl Kullanılır: 2025 Eğitimi

Bu kapsamlı rehberle WebSockets'i öğrenin. Temel bilgilerden gerçek dünya örneklerine ve en iyi uygulamalara kadar her şeyi kapsıyoruz. Hemen kullanmaya başlayın!

Efe Demir

Efe Demir

5 June 2025

JavaScript WebSockets Nasıl Kullanılır: 2025 Eğitimi

Bazı uygulamaların, sayfayı yenilemenize veya bir düğmeye tıklamanıza gerek kalmadan verilerini gerçek zamanlı olarak nasıl güncelleyebildiğini hiç merak ettiniz mi?

Bu blog yazısında, WebSocket'in ne olduğunu, nasıl çalıştığını ve JavaScript ile nasıl kullanılacağını açıklayacağız. Ayrıca, API'lerinizi test etmek ve hatalarını ayıklamak için Apidog'u nasıl kullanacağınızı da göstereceğiz.

💡
Apidog, WebSocket bağlantılarındaki sorunları belirleme ve çözme sürecini basitleştirerek, istemciler ve sunucular arasında kesintisiz iletişimi garanti eder. Apidog ile WebSocket hatalarını ayıklamak zahmetsizdir! Şimdi ücretsiz indirmek için Apidog'u edinin.
button

WebSockets'e Giriş

WebSockets, bir istemci ve bir sunucu arasındaki gerçek zamanlı iletişim için güçlü bir araçtır. Çift yönlü iletişime izin verirler, bu da verilerin aynı anda gönderilip alınabileceği anlamına gelir. Bu, her veri parçası için yeni bir istek yapmayı gerektiren tek yönlü olan geleneksel HTTP isteklerinin aksinedir.

WebSockets, geleneksel HTTP tabanlı iletişim yöntemlerinden daha hızlı ve daha verimlidir. Düşük gecikme süresi, çift yönlü iletişim, ölçeklenebilirlik ve gerçek zamanlı veri akışı desteği sunarlar. WebSockets, aynı anda yalnızca bir yapılandırılmış veri akışına izin veren HTTP/1.1'in aksine, tek bir bağlantı üzerinden birden fazla veri akışını işleyebilir.

WebSockets Nasıl Çalışır?

WebSocket, bir el sıkışma kullanarak istemci ve sunucu arasında bir bağlantı kurarak çalışır. El sıkışma, istemcinin bir yükseltme isteği gönderdiği ve sunucunun bir yükseltme yanıtı ile yanıt verdiği HTTP kullanılarak yapılır. Yükseltme isteği ve yanıtı, istemci ve sunucunun HTTP'den WebSocket'e geçmek istediğini gösteren bazı özel başlıklar içerir.

javascript Websockets

El sıkışma tamamlandıktan sonra, bağlantı WebSocket'e yükseltilir ve istemci ve sunucu mesaj alışverişinde bulunabilir. Mesajlar, HTTP'den daha verimli ve daha hızlı olan bir ikili format kullanılarak gönderilir ve alınır. Mesajlar metin veya ikili olabilir ve herhangi bir boyutta ve içerikte olabilir.

Bağlantı, istemci veya sunucu onu kapatana kadar canlı tutulur. İstemci veya sunucu, iletişimin sonunu gösteren özel bir mesaj türü olan bir kapatma çerçevesi göndererek bağlantıyı kapatabilir. Kapatma çerçevesi ayrıca, bağlantının neden kapatıldığını açıklayan bir neden kodu ve bir mesaj da içerebilir.

WebSockets Kullanmanın Faydaları

WebSockets, web istemcileri ve web sunucuları arasında sürekli, çift yönlü ve düşük gecikmeli iletişim sağlayan bir teknolojidir. WebSockets kullanmanın bazı faydaları şunlardır:

JavaScript ile WebSocket Nasıl Kullanılır

JavaScript ile WebSocket, web için en popüler betik dili olan JavaScript ile kullanımı çok kolaydır. JavaScript, WebSocket bağlantıları oluşturmak ve yönetmek için basit ve sezgisel bir API sağlayan WebSocket adlı yerleşik bir nesneye sahiptir.

JavaScript ile WebSocket kullanmak için, sunucunun URL'si ile bir WebSocket nesnesi oluşturmanız ve ardından open, message, close ve error gibi olayları dinlemeniz gerekir. Ayrıca, send yöntemini kullanarak sunucuya veri gönderebilirsiniz. İşte JavaScript ile WebSocket'in nasıl kullanılacağına dair basit bir örnek:

// Sunucu URL'si ile bir WebSocket nesnesi oluşturun
const socket = new WebSocket("ws://localhost:3000");

// Bağlantının kurulduğunu gösteren açık olayı dinleyin
socket.onopen = () => {
  console.log("WebSocket bağlantısı açıldı");
  // Sunucuya bir mesaj gönderin
  socket.send("Tarayıcıdan Merhaba!");
};

// Sunucudan alınan verileri içeren mesaj olayını dinleyin
socket.onmessage = (event) => {
  console.log("Sunucudan gelen mesaj:", event.data);
};

// Bağlantının kapandığını gösteren kapatma olayını dinleyin
socket.onclose = (event) => {
  console.log("WebSocket bağlantısı kapandı");
};

// Bağlantıda bir hata olduğunu gösteren hata olayını dinleyin
socket.onerror = (error) => {
  console.error("WebSocket hatası:", error);
};

Kod, bir sunucuya bir WebSocket bağlantısı oluşturmak ve yönetmek ve ayrıca bağlantı üzerinden veri göndermek ve almak için WebSocket API'sini kullanır. İşte kodun satır satır dökümü:

// Sunucu URL'si ile bir WebSocket nesnesi oluşturun
const socket = new WebSocket("ws://localhost:3000");

Bu satır, WebSocket protokolünü destekleyen sunucunun URL'si ile yeni bir WebSocket nesnesi oluşturur. URL, güvenli bağlantılar için ws:// veya wss:// ile başlar.

// Bağlantının kurulduğunu gösteren açık olayı dinleyin
socket.onopen = () => {
  console.log("WebSocket bağlantısı açıldı");
  // Sunucuya bir mesaj gönderin
  socket.send("Tarayıcıdan Merhaba!");
};

Bu kod bloğu, WebSocket nesnesinde open olayı tetiklendiğinde yürütülecek bir işlev tanımlar. open olayı, tarayıcı ve sunucu arasındaki bağlantının başarıyla kurulduğunu gösterir. İşlev, konsola bir mesaj kaydeder ve ardından WebSocket nesnesinin send yöntemini kullanarak sunucuya bir mesaj gönderir.

// Sunucudan alınan verileri içeren mesaj olayını dinleyin
socket.onmessage = (event) => {
  console.log("Sunucudan gelen mesaj:", event.data);
};

Bu kod bloğu, WebSocket nesnesinde message olayı tetiklendiğinde yürütülecek bir işlev tanımlar. message olayı, sunucudan event.data özelliğinde alınan verileri içerir. İşlev, verileri konsola kaydeder.

// Bağlantının kapandığını gösteren kapatma olayını dinleyin
socket.onclose = (event) => {
  console.log("WebSocket bağlantısı kapandı");
};

Bu kod bloğu, WebSocket nesnesinde close olayı tetiklendiğinde yürütülecek bir işlev tanımlar. close olayı, tarayıcı ve sunucu arasındaki bağlantının kapandığını gösterir. İşlev, konsola bir mesaj kaydeder.

// Bağlantıda bir hata olduğunu gösteren hata olayını dinleyin
socket.onerror = (error) => {
  console.error("WebSocket hatası:", error);
};

Bu kod bloğu, WebSocket nesnesinde error olayı tetiklendiğinde yürütülecek bir işlev tanımlar. error olayı, bazı verilerin gönderilememesi veya alınamaması gibi bağlantıda bir hata olduğunu gösterir. İşlev, hatayı konsola kaydeder.

JavaScript WebSocket'in Hata Ayıklaması İçin Apidog Nasıl Kullanılır?

WebSockets'in hata ayıklaması, kalıcı bir bağlantı kullandıkları için zorlayıcı olabilir. Ancak, WebSocket kodunuzun hata ayıklamanıza yardımcı olabilecek çeşitli araçlar mevcuttur. Bu araçlardan biri, hepsi bir arada bir işbirliğine dayalı API geliştirme platformu olan Apidog'dur. Apidog ile etkili hata ayıklama tekniklerini öğrenebilir, hata ayıklama ortamınızı kurabilir ve kesintisiz bir hata ayıklama deneyimi için gelişmiş araçlardan yararlanabilirsiniz.

button

İşte Apidog'u bir WebSocket istemcisinin hata ayıklaması için nasıl kullanabileceğiniz:

  1. Apidog'u Açın: İlk olarak, Apidog uygulamasını başlatın ve sol taraftaki "+" düğmesine tıklayın, yeni bir açılır menü açılacaktır. Oradan "Yeni WebSocket API'si"ni seçin:
Apidog interface

2. Bir Bağlantı Kurun:  WebSocket API URL'sini Apidog'un adres çubuğuna girerek başlayın. Ardından, el sıkışma işlemini başlatmak ve bir bağlantı oluşturmak için "Bağlan" düğmesine tıklayın. Apidog, el sıkışma sırasında Parametreler, Başlıklar ve Çerezler gibi parametreleri özelleştirmenizi sağlar.

Apidog interface

3. Mesaj Gönderin ve Alın: Bağlantı kurulduktan sonra, "Mesaj" sekmesine erişerek mesaj gönderebilir ve alabilirsiniz. Metin, JSON, XML, HTML ve diğer metin formatı mesajların yanı sıra Base64 veya Onaltılık kullanarak ikili format mesajlar oluşturma seçeneğiniz vardır. Apidog'un yeni zaman çizelgesi görünümü, bağlantı durumunu, gönderilen mesajları ve alınan mesajları kronolojik sırayla görüntüler. Bir mesaja tıklamak, ayrıntılarını kolayca görüntülemenizi sağlar.

Apidog interface

4. API Dokümantasyonu: Apidog, WebSocket etkileşimlerinizin etkili bir şekilde belgelenmesini sağlayan WebSocket API'leri için güçlü API dokümantasyon işlevselliğini miras alır.

Apidog interface

Apidog, WebSocket bağlantılarını test etmenizi ve hatalarını ayıklamanızı sağlayan basit ve güçlü bir araçtır. Apidog'un bir web tarafı ve bir istemci tarafı vardır. Web tarafını kullanıyorsanız ve yerel hizmetlerin hata ayıklamasını yapmanız gerekiyorsa, Apidog için Google eklentisini yüklemeniz gerekir.

Buradan indirin: Apidog Tarayıcı Uzantısı

Javascript WebSockets'in Gerçek Dünya Örnekleri

WebSocket harika çünkü tarayıcı ve sunucu arasında gerçek zamanlı iletişim sağlar. İçeriğini gerçek zamanlı olarak, sayfayı yeniden yüklemeden güncelleyebilen etkileşimli ve ilgi çekici web uygulamaları oluşturmanıza olanak tanır. WebSocket, çeşitli amaçlar için kullanılabilir, örneğin:

Real-World Examples of Javascript WebSockets

Javascript WebSockets Kullanımı İçin En İyi Uygulamalar

WebSockets kullanırken, kodunuzun güvenli ve verimli olmasını sağlamak için en iyi uygulamaları izlemek önemlidir. İşte akılda tutulması gereken bazı en iyi uygulamalar:

Bir WebSocket Kitaplığı Kullanın: Geliştirme sürecini basitleştirmek ve farklı tarayıcılar ve cihazlar arasında uyumluluğu sağlamak için mevcut WebSocket kitaplıklarından yararlanın.

Bu en iyi uygulamaları izleyerek, gelişmiş güvenlik ve performans ile gerçek zamanlı işlevsellik sağlayan sağlam ve verimli WebSocket uygulamaları oluşturabilirsiniz. Uygulamanızı her zaman iyice test etmeyi ve WebSocket teknolojisindeki en son gelişmeleri takip etmeyi unutmayın.

Sonuç

Sonuç olarak, WebSockets, bir istemci ve sunucu arasındaki gerçek zamanlı iletişim için güçlü bir araçtır. Sohbet odaları ve çevrimiçi oyunlar gibi gerçek zamanlı uygulamalar için faydalı olan çift yönlü iletişime izin verirler.

En iyi uygulamaları izleyerek ve Apidog gibi araçları kullanarak, WebSocket kodunuzun güvenli ve verimli olmasını sağlayabilirsiniz. Öyleyse, ne bekliyorsunuz? Web uygulamalarınızda bugün WebSockets kullanmaya başlayın!

button

Ek Kaynaklar

WebSockets hakkında daha fazla bilgi edinmenize yardımcı olacak bazı ek kaynaklar şunlardır:

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin