直播平台在线人数功能
时间:2022-07-23
本文章向大家介绍直播平台在线人数功能,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最近在做直播平台,需要实现在线人数的显示 在线观看直播的人数使用websocket感觉很好,当有人进入直播平台,后台触发人数加1,当有人退出平台例如关闭浏览器,后台会触发断开连接方法,人数减1。 使用socket.io
1.websocket服务端
1)引入包
var app = require('http').createServer()
var io = require('socket.io')(app)
2)定义在线人数的全局变量
var count = 0
3)设置websocket服务端口
app.listen(5000)
4)开启
io.on('connection', function(socket) {
5)当有人进入页面,就会与websocket服务器建立通信 就会触发人数加1
count++;
console.log("当前接入" + count + "人")
6)我们人数发送给订阅了”users“的客户端
socket.emit('users', { peoNum: count })
//当有数据改变时,会自动将人数广播到订阅users的客户端
socket.broadcast.emit('users', { peoNum: count });
7)当有人断开连接,就会触发断开方法,人数减1
socket.on('disconnect', function() {
--count;
console.log("当前接入" + count + "人")
socket.broadcast.emit('users', { peoNum: count });
});
})
2.websocket客户端
1)引入包
<script src="http://cdn.bootcss.com/socket.io/2.0.3/socket.io.js"></script>
2)人数显示
<h3>当前在线人数:<span id="allpeople"></span> </h3>
3)连接websocket服务器,订阅users信息,当接收到服务端广播的人数信息,就会将其显示到页面
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("与服务断开");
});
})
- 常用 Git 命令清单
- 如何将配置spring文件指定名字,指定位置
- 基础篇章:React Native 之 TextInput 的讲解
- Linux下 标准错误输出重定向
- CentOs6.5 修改主机名
- 基础篇章:React Native 之 View 和 Text 的讲解
- CentOs7.3 修改主机名
- 基础篇章:React Native之Flexbox的讲解(Height and Width)
- PDF.js专题
- CentOs7.3 编译安装 Nginx 1.9.9
- 基础篇章:关于 React Native 之 RefreshControl 组件的讲解
- CentOs7.3 安装 JDK1.8
- 基础篇章:关于 React Native 之 ListView 组件的讲解
- maven环境快速搭建
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring 中的属性赋值
- Spring 中控制 Bean 生命周期的几种方式及 BeanPostProcessor 执行原理
- Spring 中的 @Import 注解及向容器中添加 Bean 的几种方式
- Spring 注解开发之 @Conditional
- JDBC 技术应用实践:网上书城后台管理系统
- 思科模拟器:路由器基本配置
- 思科模拟器:实验五——高级路由实验
- 从零开始重新认识 SpringMVC
- 字节跳动Android实习面试凉凉经,两轮面试我被完虐了...
- 高效、简单、方便管理与维护的开源运维工单系统
- python数据库入门编程。
- EasyExcel导出自定义合并单元格策略
- CMake学习笔记
- 性能分析(2)- 应用程序 CPU 使用率过高案例
- 性能测试必备知识(7)- 深入理解“CPU 使用率”