CodeBlanks Logo Icon CodeBlanks

Connection

ws.on('connection') ile bağlantı kabul etmeyi öğrenirsin.

Connection olayı

Bir istemci bağlandığında "connection" olayı tetiklenir. wss.on("connection", (ws, req) => { ... }) ile yakalarsın. ws istemci bağlantısı, req HTTP isteğidir (el sıkışma).

Bu olay, istemciye karşılama mesajı göndermek veya kimlik doğrulamak için idealdir. Örneğin ws.send("hoş geldin") ile bağlanan kişiyi selamlarsın. Ayrıca ws.on("message"), ws.on("close"), ws.on("error") gibi olayları burada kaydedersin. Her istemci için ayrı bir ws nesnesi vardır.

ws nesnesi

Bağlanan her istemci için bir ws nesnesi oluşturulur. Bu nesne bir EventEmitter'dır; message, close, error olaylarını yayınlar.

ws.send(data) ile istemciye mesaj gönderirsin. ws.readyState bağlantı durumunu verir: 0 (connecting), 1 (open), 2 (closing), 3 (closed). ws.close() ile bağlantıyı kapatırsın. Mesajlar dize, Buffer veya nesne olabilir; ws.send(JSON.stringify(obj)) ile nesne gönderirsin.

Uygulama connection olayını yaz

Bir EventEmitter oluştur (new EventEmitter()). "connection" olayını bir işleyici ile dinle. En son "bağlantı hazır" yaz.

Başlangıç kodu

index.js
// EventEmitter'ı içe aktar, oluştur

// connection olayını dinle

// "bağlantı hazır" yaz

Örnek çözüm

index.js
const { EventEmitter } = require("events");
const wss = new EventEmitter();
wss.on("connection", (ws, req) => {});
console.log("bağlantı hazır");

Beklenen çıktı

bağlantı hazır

Soru ve cevaplar

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

1 Parçayı rolüne eşle

Kavram Anlamı
wss.on("connection") İstemci bağlanınca
ws İstemci bağlantısı
ws.send Mesaj gönderir
req HTTP isteği

2 Olay adını tamamla

Soru
wss.on("____", (ws, req) => { ws.send("hoş geldin"); })
Cevap
wss.on("connection", (ws, req) => { ws.send("hoş geldin"); })

Açıklama: connection olayı istemci bağlanınca tetiklenir.

3 connection olayının işleyicisi hangi parametreleri alır?

  • (port, host)
  • (data, err)
  • (ws, req) Doğru cevap
  • (sql, values)

Açıklama: İşleyici ws (istemci bağlantısı) ve req (HTTP isteği) alır.

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