node.js中使用socket.io制作命名空間
如果開(kāi)發(fā)者想在一個(gè)特定的應(yīng)用程序中完全控制消息與事件的發(fā)送,只需要使用一個(gè)默認(rèn)的"/"命名空間就足夠了.但是如果開(kāi)發(fā)者需要將應(yīng)用程序作為第三方服務(wù)提供給其他應(yīng)用程序,則需要為一個(gè)用于與客戶端連接的socket端口定義一個(gè)獨(dú)立的命名空間.
io.of(namespace)
制作兩個(gè)命名空間
chat和news然后在客戶端相互發(fā)送信息.
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("開(kāi)始監(jiān)聽(tīng)1337");
});
var io=sio.listen(server);
var chart=io.of("/chat").on("connection", function (socket) {
socket.send("歡迎訪問(wèn)chat空間!");
socket.on("message", function (msg) {
console.log("chat命名空間接收到信息:"+msg);
});
});
var news=io.of("/news").on("connection", function (socket) {
socket.emit("send message","歡迎訪問(wèn)news空間!");
socket.on("send message", function (data) {
console.log("news命名空間接受到send message事件,數(shù)據(jù)為:"+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("send message","hello");
news.on("send message", function (data) {
console.log("從news命名空間接收到send message事件,數(shù)據(jù)位:"+data);
});
});
</script>
</head>
<body>
</body>
</html>
運(yùn)行結(jié)果:
小伙伴們是否了解了在node.js中使用socket.io制作命名空間的方法了呢,這里的2個(gè)例子很簡(jiǎn)單,童鞋們自由發(fā)揮下。
- node.js中的Socket.IO使用實(shí)例
- node.js中Socket.IO的進(jìn)階使用技巧
- 基于socket.io和node.js搭建即時(shí)通信系統(tǒng)
- node.js中的socket.io入門實(shí)例
- node中socket.io的事件使用詳解
- nodejs結(jié)合Socket.IO實(shí)現(xiàn)的即時(shí)通訊功能詳解
- node.js中的socket.io的廣播消息
- node.js基于socket.io快速實(shí)現(xiàn)一個(gè)實(shí)時(shí)通訊應(yīng)用
- nodejs+socket.io實(shí)現(xiàn)p2p消息實(shí)時(shí)發(fā)送的項(xiàng)目實(shí)踐
相關(guān)文章
node.js中的path.delimiter方法使用說(shuō)明
這篇文章主要介紹了node.js中的path.delimiter方法使用說(shuō)明,本文介紹了path.delimiter的方法說(shuō)明、語(yǔ)法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12nodejs socket服務(wù)端和客戶端簡(jiǎn)單通信功能
這篇文章主要為大家詳細(xì)介紹了nodejs socket服務(wù)端和客戶端簡(jiǎn)單通信功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09Windows中安裝nvm進(jìn)行Node版本控制與詳細(xì)使用教程
nvm和npm都是node.js版本管理工具,但是為了解決node各種不同之間版本存在不兼容的問(wèn)題,因此可以通過(guò)nvm安裝和切換不同版本的node,感興趣的可以了解一下2023-09-09node.js中的定時(shí)器nextTick()和setImmediate()區(qū)別分析
本文介紹了node.js中的定時(shí)器nextTick()和setImmediate()的區(qū)別分析,非常的不錯(cuò),這里推薦給大家。2014-11-11Koa從零搭建到Api實(shí)現(xiàn)項(xiàng)目的搭建方法
這篇文章主要介紹了Koa從零搭建到Api實(shí)現(xiàn)項(xiàng)目的搭建方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07webstorm配置支持nodejs并自動(dòng)補(bǔ)全的方法
今天小編就為大家分享一篇webstorm配置支持nodejs并自動(dòng)補(bǔ)全的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05