Jika pengembang ingin sepenuhnya mengontrol pengiriman pesan dan peristiwa dalam aplikasi tertentu, cukup untuk menggunakan default "/" namespace. Namun, jika pengembang perlu memberikan aplikasi sebagai layanan pihak ketiga ke aplikasi lain, ia perlu menentukan namespace terpisah untuk port soket yang digunakan untuk terhubung ke klien.
io.of (namespace)
Buat dua namespaces
Obrolan dan berita kemudian mengirim informasi satu sama lain di sisi klien.
Salinan kode adalah sebagai berikut:
var express = membutuhkan ("Express");
var http = membutuhkan ("http");
var sio = membutuhkan ("socket.io");
var app = express ();
var server = http.createServer (app);
app.get ("/", function (req, res) {
res.sendfile (__ dirname+"/index.html");
});
server.listen (1337, "127.0.0.1", function () {
Console.log ("Mulai Mendengarkan 1337");
});
var io = sio.listen (server);
var chart = io.of ("/chat"). on ("connection", function (socket) {
socket.send ("Selamat datang di ruang obrolan!");
socket.on ("pesan", fungsi (msg) {
Console.log ("Obrolan Namespace menerima informasi:"+msg);
});
});
var news = io.of ("/news"). on ("connection", function (socket) {
socket.emit ("Kirim pesan", "Selamat datang di ruang berita!");
socket.on ("kirim pesan", fungsi (data) {
Console.log ("News Namespace menerima acara Kirim pesan, data adalah:"+data);
});
});
Salinan kode adalah sebagai berikut:
<! Doctype html>
<Html>
<head lang = "en">
<meta charset = "UTF-8">
<title> </title>
<skrip src = "/socket.io/socket.io.js"> </script>
<script>
var chat = io.connect ("http: // localhost/chat"),
news = io.connect ("http: // localhost/news");
chat.on ("connect", function () {
chat.send ("halo.");
chat.on ("pesan", fungsi (msg) {
console.log ("Terima pesan dari ruang char:"+msg);
});
});
news.on ("connect", function () {
news.emit ("Kirim pesan", "halo");
news.on ("Kirim pesan", fungsi (data) {
Console.log ("Terima Kirim Acara Pesan dari News Namespace, Data Bit:"+Data);
});
});
</script>
</head>
<body>
</body>
</html>
Hasil Menjalankan:
Pernahkah Anda memahami metode menggunakan socket.io untuk membuat ruang nama di node.js? Dua contoh di sini sangat sederhana, jadi mari kita bermain dengan mereka dengan bebas.