WebSockets, web üzerinde gerçek zamanlı iletişimi devrim niteliğinde değiştirerek, tek bir TCP bağlantısı üzerinden çift yönlü, tam çift yönlü iletişim kanalları sağlar. Güçlü bir JavaScript çalışma zamanı olan Node.js ile, WebSockets'in yeteneklerinden yararlanmak daha da erişilebilir ve verimli hale gelir.
Bu rehberde, Node.js'de WebSockets'i entegre etme ve kullanma sürecini adım adım inceleyeceğiz.
WebSocket Nedir?
Uygulamaya dalmadan önce, WebSockets'in ne olduğunu ve geleneksel HTTP isteklerinden nasıl farklılaştığını anlamak çok önemlidir. İstek-yanıt modelini izleyen HTTP'nin aksine, WebSockets, istemciler ve sunucular arasında kalıcı bağlantılar sağlar ve gerçek zamanlı, düşük gecikmeli veri alışverişine olanak tanır.
Bu, onları sohbet uygulamaları, çok oyunculu oyunlar ve işbirliğine dayalı araçlar gibi anlık güncellemeler gerektiren uygulamalar için ideal hale getirir.

WebSocket Kullanım Alanları
WebSocket, özellikle aşağıdaki senaryolarda anlamlıdır:
- Gerçek zamanlı bildirim sistemleri: Sunucuda yeni veriler mevcut olduğunda istemcileri anında bilgilendirin.
- Çevrimiçi sohbet: Kullanıcılar arasında anında iletişimi sağlamak için gerçek zamanlı sohbet uygulamaları oluşturun.
- Gerçek zamanlı işbirliği araçları: Gerçek zamanlı belge paylaşımı, grafik düzenleme veya diğer işbirlikçi çalışmalar için kullanın.
- Çevrimiçi oyun: Oyuncular arasında gerçek zamanlı etkileşim ve senkronizasyonu sağlayın.
- Gerçek zamanlı izleme sistemleri: Sistem durumunu izleyin ve yöneticileri anında bilgilendirin.
Bir Node.js Projesi Kurma
Başlamak için, sisteminizde Node.js'nin yüklü olduğundan emin olun. Yüklemenizi terminalinizde node -v
komutunu çalıştırarak doğrulayabilirsiniz.

Onaylandıktan sonra, projeniz için yeni bir dizin oluşturun ve içine gidin.
mkdir websocket-example
cd websocket-example
npm kullanarak yeni bir Node.js projesi başlatın:
npm init -y
Bu komut, varsayılan ayarlarla bir package.json
dosyası oluşturur. Ardından, Node.js için popüler bir WebSocket kütüphanesi olan ws
paketini yükleyin:
npm install ws
Bir WebSocket Sunucusu Uygulama
Proje kurulduktan sonra, ws
kütüphanesini kullanarak bir WebSocket sunucusu oluşturalım. Proje dizininizde server.js
adında yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {console.log('A new client connected.');
ws.on('message', function incoming(message) {console.log('Received: %s', message);
});
ws.send('Welcome to the WebSocket server!');
});
Bu kod, 8080
numaralı portta bir WebSocket sunucusu başlatır ve gelen bağlantıları dinler. Bağlantı kurulduğunda, bir mesaj kaydeder ve gelen mesajlar için bir olay dinleyicisi ayarlar. Ayrıca istemciye bir hoş geldin mesajı gönderir.
Bir WebSocket İstemcisi Oluşturma
Şimdi, sunucumuza bağlanmak için basit bir WebSocket istemcisi oluşturalım. Proje dizininde client.js
adında yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {console.log('Connected to the server.');
});
ws.on('message', function incoming(data) {console.log('Received from server: %s', data);
});
Bu kod, ws://``localhost:8080
'e bir WebSocket bağlantısı kurar ve başarılı bir bağlantı üzerine bir mesaj kaydeder. Ayrıca, sunucudan mesaj almak için bir olay dinleyicisi ayarlar.
Uygulamayı Çalıştırma
Uygulamayı çalıştırmadan önce, WebSocket sunucusunun (server.js) çalıştığından emin olun. Bunu çalıştırarak başlatabilirsiniz:
node server.js
Sunucu çalıştıktan sonra, istemci betiğini (client.js) başka bir terminal penceresinde çalıştırın:
node client.js
Hem sunucudan hem de istemciden başarılı bağlantıları gösteren mesajlar görmelisiniz.
Apidog: WebSocket API Testini Kolaylaştırma

Node.js yerine, çok yönlü API testi için Postman'e benzer mükemmel bir araç olan Apidog'u kullanmayı düşünün. Apidog, WebSocket API testini destekler ve WebSocket API'lerini oluşturmak, yönetmek ve test etmek için kullanıcı dostu arayüzler sunar.