前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直播平台在线人数功能

直播平台在线人数功能

作者头像
治电小白菜
发布2020-08-25 14:41:22
3.1K0
发布2020-08-25 14:41:22
举报
文章被收录于专栏:技术综合技术综合

最近在做直播平台,需要实现在线人数的显示 在线观看直播的人数使用websocket感觉很好,当有人进入直播平台,后台触发人数加1,当有人退出平台例如关闭浏览器,后台会触发断开连接方法,人数减1。 使用socket.io

1.websocket服务端

1)引入包

代码语言:javascript
复制
var app = require('http').createServer()
var io = require('socket.io')(app)

2)定义在线人数的全局变量

代码语言:javascript
复制
var count = 0

3)设置websocket服务端口

代码语言:javascript
复制
app.listen(5000)

4)开启

代码语言:javascript
复制
io.on('connection', function(socket) {

5)当有人进入页面,就会与websocket服务器建立通信 就会触发人数加1

代码语言:javascript
复制
    count++;
    console.log("当前接入" + count + "人")

6)我们人数发送给订阅了”users“的客户端

代码语言:javascript
复制
socket.emit('users', { peoNum: count })
//当有数据改变时,会自动将人数广播到订阅users的客户端
socket.broadcast.emit('users', { peoNum: count });

7)当有人断开连接,就会触发断开方法,人数减1

代码语言:javascript
复制
    socket.on('disconnect', function() {
        --count;
        console.log("当前接入" + count + "人")
        socket.broadcast.emit('users', { peoNum: count });
    });
})
图片.png
图片.png

2.websocket客户端

1)引入包

代码语言:javascript
复制
<script src="http://cdn.bootcss.com/socket.io/2.0.3/socket.io.js"></script>

2)人数显示

代码语言:javascript
复制
<h3>当前在线人数:<span id="allpeople"></span> </h3>

3)连接websocket服务器,订阅users信息,当接收到服务端广播的人数信息,就会将其显示到页面

代码语言:javascript
复制
var socket = io('localhost:5000')
socket.on('users', function(data) {
        console.log(data)
        document.getElementById('allpeople').innerHTML = data.peoNum
        socket.on('disconnect', function() {
            console.log("与服务断开");
        });
    })
图片.png
图片.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.websocket服务端
  • 2.websocket客户端
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档