إذا كان المطور يريد التحكم الكامل في إرسال الرسائل والأحداث في تطبيق معين ، فإنه يكفي استخدام مساحة الاسم الافتراضية ". ومع ذلك ، إذا احتاج المطور إلى تزويد التطبيق كخدمة تابعة لجهة خارجية للتطبيقات الأخرى ، فإنه يحتاج إلى تحديد مساحة اسم منفصلة لمنفذ المقبس المستخدم للاتصال بالعميل.
io.of (مساحة الاسم)
اصنع مساحات أسماء
الدردشة والأخبار ثم أرسل معلومات إلى بعضها البعض على جانب العميل.
نسخة الكود كما يلي:
var express = require ("express") ؛
var http = require ("http") ؛
var sio = required ("socket.io") ؛
var app = express () ؛
var server = http.createserver (app) ؛
app.get ("/" ، وظيفة (req ، الدقة) {
Res.SendFile (__ dirname+"/index.html") ؛
}) ؛
Server.Listen (1337 ، "127.0.0.1" ، Function () {
console.log ("ابدأ الاستماع 1337") ؛
}) ؛
var io = sio.listen (server) ؛
var chart = io.of ("/chat"). on ("connection" ، function (socket) {
Socket.send ("مرحبًا بك في مساحة الدردشة!") ؛
Socket.on ("Message" ، Function (msg) {
console.log ("مساحة اسم الدردشة المستلمة:"+msg) ؛
}) ؛
}) ؛
var news = io.of ("/news"). on ("connection" ، function (socket) {
Socket.emit ("إرسال رسالة" ، "مرحبًا بك في مساحة الأخبار!") ؛
Socket.on ("إرسال رسالة" ، دالة (البيانات) {
Console.log ("مساحة اسم News Pace Event Send ، البيانات هي:"+Data) ؛
}) ؛
}) ؛
نسخة الكود كما يلي:
<! 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 ("connect" ، function () {
chat.send ("مرحبًا.") ؛
chat.on ("message" ، function (msg) {
console.log ("تلقي رسالة من مساحة char:"+msg) ؛
}) ؛
}) ؛
news.on ("connect" ، function () {
news.emit ("إرسال رسالة" ، "مرحبا") ؛
news.on ("إرسال رسالة" ، وظيفة (بيانات) {
console.log ("تلقي حدث إرسال رسالة من مساحة اسم الأخبار ، بت البيانات:"+البيانات) ؛
}) ؛
}) ؛
</script>
</head>
<body>
</body>
</html>
نتائج التشغيل:
هل فهمت طريقة استخدام socket.io لإنشاء مساحات أسماء في node.js؟ المثالان هنا بسيطان للغاية ، لذلك دعونا نلعب معهما بحرية.