时间:2021-07-01 10:21:17 帮助过:10人阅读
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