CodeBlanks Logo Icon CodeBlanks

WebSocket server

new WebSocket.Server ile sunucu kurmayı öğrenirsin.

WebSocket sunucusu

Bir WebSocket sunucusu oluşturmak: const wss = new WebSocketServer({ port: 8080 }). Bu, 8080 portunda dinleyen bir sunucu başlatır. İstemciler ws://sunucu:8080 adresine bağlanır.

Sunucu, bağlantı olaylarını dinler. wss.on("connection", (ws) => { ... }) her yeni istemcide tetiklenir. ws parametresi istemci bağlantısını temsil eder. ws.on("message", cb) ile mesajları, ws.send(data) ile mesaj gönderirsin. Sunucuyu kapatmak için wss.close() çağırırsın.

noServer seçeneği

Bazen WebSocket şunucusunu kendi HTTP şunucuna bağlamak istersin. { noServer: true } seçeneği bunu sağlar. Sunucu kendi portu yerine, HTTP şunucusunun 'upgrade' olayını dinler.

Bu desen, Express ve WebSocket'i aynı portta çalıştırmak için yaygındır. server.on("upgrade", (req, socket, head) => { wss.handleUpgrade(req, socket, head, (ws) => { ... }); }). Bu, tek bir portta hem HTTP hem WebSocket sunar; üretimde (production) proxy arkasında daha kolaydır.

Uygulama WebSocketServer türünü tekrar yaz

WebSocketServer sınıfını ws'den içe aktar. typeof WebSocketServer sonucunu yaz.

Başlangıç kodu

index.js
// modülü içe aktar, sunucu sınıfını al

// türünü yaz

Örnek çözüm

index.js
const { WebSocketServer } = require("ws");
console.log(typeof WebSocketServer);

Beklenen çıktı

function

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Seçenek adını tamamla

Soru
const wss = new WebSocketServer({ ____: 8080 })
Cevap
const wss = new WebSocketServer({ port: 8080 })

Açıklama: port seçeneği dinlenecek portu belirler.

2 new WebSocketServer({ port: 8080 }) ne yapar?

  • Dosya okur
  • 8080 portunda sunucu başlatır Doğru cevap
  • Veritabanı bağlar
  • Ağ hızlandırır

Açıklama: Belirtilen portta bir WebSocket sunucusu başlatır.

3 Parçayı rolüne eşle

Kavram Anlamı
new WebSocketServer Sunucu oluşturur
wss.on("connection") İstemci bağlanınca
ws.on("message") Mesaj gelince
ws.send Mesaj gönderir

İleri seviye bölümündeki tüm dersler