หากนักพัฒนาต้องการควบคุมการส่งข้อความและเหตุการณ์ในแอปพลิเคชันเฉพาะอย่างเต็มที่ก็เพียงพอที่จะใช้เนมสเปซ "/" เริ่มต้น อย่างไรก็ตามหากนักพัฒนาจำเป็นต้องให้แอปพลิเคชันเป็นบริการของบุคคลที่สามให้กับแอปพลิเคชันอื่น ๆ เขาหรือเธอจำเป็นต้องกำหนดเนมสเปซแยกต่างหากสำหรับพอร์ตซ็อกเก็ตที่ใช้ในการเชื่อมต่อกับลูกค้า
io.of (เนมสเปซ)
ทำสองเนมสเปซ
แชทและข่าวจากนั้นส่งข้อมูลให้กันทางฝั่งไคลเอ็นต์
การคัดลอกรหัสมีดังนี้:
var express = ต้องการ ("express");
var http = ต้องการ ("http");
var sio = ต้องการ ("socket.io");
var app = express ();
var server = http.createServer (แอป);
app.get ("/", function (req, res) {
Res.SendFile (__ dirname+"/index.html");
-
Server.Listen (1337, "127.0.0.1", function () {
console.log ("เริ่มฟัง 1337");
-
var io = siO.Listen (เซิร์ฟเวอร์);
chart var = io.of ("/แชท") บน ("การเชื่อมต่อ" ฟังก์ชั่น (ซ็อกเก็ต) {
Socket.Send ("ยินดีต้อนรับสู่พื้นที่แชท!");
socket.on ("ข้อความ", ฟังก์ชัน (msg) {
console.log ("แชทเนมสเปซที่ได้รับข้อมูล:"+ผงชูรส);
-
-
var news = io.of ("/news"). on ("การเชื่อมต่อ" ฟังก์ชั่น (ซ็อกเก็ต) {
socket.emit ("ส่งข้อความ", "ยินดีต้อนรับสู่พื้นที่ข่าว!");
socket.on ("ส่งข้อความ" ฟังก์ชั่น (ข้อมูล) {
console.log ("ข่าวเนมสเปซยอมรับเหตุการณ์ส่งข้อความข้อมูลคือ:"+ข้อมูล);
-
-
การคัดลอกรหัสมีดังนี้:
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/socket.io/socket.io.js"> </script>
<script>
var chat = io.connect ("http: // localhost/chat"),
News = io.connect ("http: // localhost/news");
chat.on ("เชื่อมต่อ" ฟังก์ชัน () {
แชทเซนด์ ("สวัสดี");
chat.on ("ข้อความ", ฟังก์ชัน (msg) {
console.log ("รับข้อความจากพื้นที่ถ่าน:"+msg);
-
-
news.on ("เชื่อมต่อ" ฟังก์ชัน () {
news.emit ("ส่งข้อความ", "สวัสดี");
news.on ("ส่งข้อความ" ฟังก์ชั่น (ข้อมูล) {
console.log ("รับเหตุการณ์ส่งข้อความจากเนมสเปซข่าวบิตข้อมูล:"+ข้อมูล);
-
-
</script>
</head>
<body>
</body>
</html>
ผลการทำงาน:
คุณเข้าใจวิธีการใช้ socket.io เพื่อสร้างเนมสเปซใน node.js หรือไม่? ตัวอย่างสองตัวอย่างที่นี่ง่ายมากดังนั้นมาเล่นกับพวกเขาอย่างอิสระ