CodeBlanks Logo Icon CodeBlanks

Message

ws.send ve ws.on('message') ile mesajlaşmayı öğrenirsin.

Message olayı

Bir istemciden mesaj geldiğinde "message" olayı tetiklenir. ws.on("message", (data) => { ... }) ile yakalarsın. data bir Buffer'dır; dize olarak kullanmak için data.toString() çağırırsın.

Mesajlar dize veya ikili olabilir. JSON mesajları yaygındır: istemci ws.send(JSON.stringify({ type: "chat", text: "merhaba" })) gönderir, sunucu JSON.parse(data.toString()) ile ayrıştırır. Bu, yapılandırılmış iletişim sağlar. Mesaj işleyicide hata yakalamak iyi bir alışkanlıktır; hatalı JSON çökertmesin.

ws.send ile mesaj gönderme

İstemciye mesaj göndermek: ws.send(data). data dize, Buffer veya nesne olabilir. Nesne için ws.send(JSON.stringify(obj)) kullanırsın.

Bir mesajı tüm istemcilere göndermek (broadcast) için wss.clients üzerinde dönersin. wss.clients bir Set'tir; her öğe bir ws bağlantısıdır. clients.forEach((client) => client.send(msg)) ile herkese gönderirsin. Bu, sohbet broadcast'inin temelidir.

Uygulama message işleyicisini kaydet

Bir EventEmitter oluştur. "message" olayını bir işleyici ile dinle. En son "message hazır" yaz.

Başlangıç kodu

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

// message olayını dinle

// "message hazır" yaz

Örnek çözüm

index.js
const { EventEmitter } = require("events");
const ws = new EventEmitter();
ws.on("message", (data) => {});
console.log("message hazır");

Beklenen çıktı

message hazır

Soru ve cevaplar

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

1 message olayının işleyicisi hangi parametre alır?

  • port
  • css
  • sql
  • data (Buffer) Doğru cevap

Açıklama: İşleyici data adında bir Buffer alır.

2 Parçayı rolüne eşle

Kavram Anlamı
ws.on("message") Mesaj dinler
ws.send Mesaj gönderir
data.toString() Dizeye çevirir
JSON.parse Ayrıştırır

3 Olay adını tamamla

Soru
ws.on("____", (data) => { console.log(data.toString()); })
Cevap
ws.on("message", (data) => { console.log(data.toString()); })

Açıklama: message olayı istemciden mesaj gelince tetiklenir.

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