当前位置:Gxlcms > JavaScript > 基于socket.io+express实现多房间聊天_node.js

基于socket.io+express实现多房间聊天_node.js

时间:2021-07-01 10:21:17 帮助过:10人阅读

socket.io简介

Socket.IO是一个开源的WebSocket库,它通过Node.js实现WebSocket服务端,同时也提供客户端JS库。Socket.IO支持以事件为基础的实时双向通讯,它可以工作在任何平台、浏览器或移动设备。

Socket.IO支持4种协议:WebSocket、htmlfile、xhr-polling、jsonp-polling,它会自动根据浏览器选择适合的通讯方式,从而让开发者可以聚焦到功能的实现而不是平台的兼容性,同时Socket.IO具有不错的稳定性和性能。

多房间聊天

socket.io提供rooms和namespace的API

用rooms的API就可以实现多房间聊天了,总结出来无外乎就是:join/leave room 和 say to room

代码 github
新建文件夹chatapp-demo
chatapp-demo/package.json

执行 npm install

服务端代码

增加文件 chatapp-demo/app.js

客户端代码

新增chatapp/views/room.hbs




 
 {{roomID}}
 


 昵称:  
房间: {{roomID}}
当前在线人数: {{users.length}}
在线用户:
{{users}}

按Enter键发送

新增 chatapp/public/index.html




 
 demo


 欢迎您,骚年

 

房间列表

  • 1号房间
  • 2号房间
  • 3号房间
  • 4号房间
  • 5号房间
  • 6号房间
  • 7号房间
  • 8号房间
  • 9号房间
  • 10号房间

运行效果

代码已放在github https://github.com/wuyanxin/chatapp-demo.git

人气教程排行