Node.js
Namespaces
Socket.io namespaces ile ad alanı öğrenirsin.
Namespaces (ad alanları)
Bir namespace, tek bir Socket.io sunucusunda ayrı iletişim kanalları oluşturur. io.of("/yol") ile yeni bir namespace oluşturursun. Her namespace kendi bağlantılarını ve olaylarını yönetir; böylece tek porttan birden çok bağımsız kanal çalıştırırsın.
Örnek: const adminIo = io.of("/admin"); adminIo.on("connection", (socket) => { console.log("Admin bağlandı"); });. /admin namespace'i ayrı bir kanaldır; istemci /admin yoluna bağlanır. Varsayılan namespace /'dir. Namespace'ler çok kiracılı (multi-tenant) uygulamalarda, yetki düzeylerine göre kanal ayırmada ve modüler mimarilerde kullanılır. Oda (room) içindeki istemcileri gruplandırır; namespace ise kanal başlığını ayırır.
Namespace kullanımı
Bir namespace oluşturduktan sonra, tıpkı io gibi kullanırsın. adminIo.on("connection", ...) ile bağlantı dinler, adminIo.emit(...) ile yayın yaparsın. Her namespace'in kendi odaları ve olayları olur.
Örnek: const adminIo = io.of("/admin"); adminIo.on("connection", (socket) => { adminIo.emit("mesaj", "Yönetici geldi"); });. /admin namespace'ine bağlanan her istemci mesaj olayını alır. İstemci tarafında io("/admin") ile bağlanılır. Namespace'ler arasında olaylar karışmaz; /admin ve /uye ayrı kanallardır. Bu, yetki düzeylerine göre akışı ayırmak için idealdir.
Uygulama Admin namespace'i oluştur
Aşağıdaki io nesnesini kullan. const adminIo = io.of("/admin") ile admin namespace'i oluştur. adminIo.on("connection", (socket) => { console.log("Admin"); }) tanımla. console.log ile "namespaces hazır" yaz.
Örnek çözümü göster
const socketIo = require("socket.io");
const io = socketIo();
const adminIo = io.of("/admin");
adminIo.on("connection", (socket) => { console.log("Admin"); });
console.log("namespaces hazır");
Kendini test et
-
io.of çağrısını tamamla
const adminIo = io.of("____");
Cevabı göster
const adminIo = io.of("/admin");
-
Parçayı rolüne eşle
- io.of
- Namespace oluşturur
- /admin
- Namespace yolu
- adminIo.on
- O kanalda dinler
- /
- Varsayılan namespace
-
io.of('/admin') ne oluşturur?
io.of("/admin")
- Yeni bir kapı
- Yeni bir oda
- Yeni bir namespace
- Yeni bir istemci
Cevabı göster
Yeni bir namespace — io.of yeni bir namespace oluşturur.
Sıradaki ders: Özet - Gerçek zamanlı