Если разработчик хочет полностью контролировать отправку сообщений и событий в определенном приложении, достаточно использовать пространство имен по умолчанию. Однако, если разработчик должен предоставить приложение в качестве стороннего услуги для других приложений, ему или ей необходимо определить отдельное пространство имен для порта сокета, используемого для подключения к клиенту.
io.of (пространство имен)
Сделайте два пространства имен
Чат и новости затем отправьте информацию друг другу на стороне клиента.
Кода -копия выглядит следующим образом:
var Express = require ("Express");
var http = require ("http");
var sio = require ("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 ("Начните слушать 1337");
});
var io = sio.listen (сервер);
var chart = io.of ("/chat"). On ("connection", function (ocket) {
Socket.send («Добро пожаловать в чат!»);
socket.on ("message", function (msg) {
console.log ("Пространство имен чата получила информацию:"+msg);
});
});
var news = io.of ("/news"). On ("connection", function (ocket) {
socket.emit («Отправить сообщение», «Добро пожаловать в новостное пространство!»);
socket.on ("Отправить сообщение", function (data) {
console.log («Новости пространство имен принимает событие отправки сообщения, данные:«+data);
});
});
Кода -копия выглядит следующим образом:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> </title>
<script src = "/socket.io/socket.io.js"> </script>
<Скрипт>
var Chat = io.connect ("http: // localhost/chat"),
News = io.connect ("http: // localhost/news");
chat.on ("connect", function () {
чат.send ("Привет.");
chat.on ("message", function (msg) {
console.log («Получить сообщение от char space:»+msg);
});
});
news.on ("connect", function () {
news.emit («Отправить сообщение», «Привет»);
news.on ("Отправить сообщение", функция (data) {
console.log («Получить событие отправки сообщения из пространства имен новостей, бит данных:»+data);
});
});
</script>
</head>
<тело>
</body>
</html>
Результаты работы:
Вы поняли метод использования socket.io для создания пространств имен в node.js? Два примера здесь очень просты, так что давайте свободно поиграем с ними.