埃尔法哥哥使用Swoole中的WebSocket快速实现弹幕效果


使用Swoole中的WebSocket快速实现弹幕效果
具体详细了解WebSocket可以查看:WebSocket 是什么原理?为什么可以实现持久连接?
言归正传 , 首先编译安装Swoole扩展 , 并创建WebSocket服务器 。
接下来 , 如果是单纯想学习WebSocket的使用方式的话 , 可以使用DanmuPlayer项目的源码 , 是一款Html5弹幕视频播放器插件 , 也可以执行写一个弹幕插件 。 我比较懒 , 直接使用了现成的插件 , 按照文档配置好后 , 可以在本地单机使用弹幕效果了 。
由于此次是单纯简单入门Swoole , 并没有做复杂的代码封装 。
直接在DanmuPlayer下 , demo文件夹中 , 创建ws_server.php文件 , 代码如下:
打开index.html文件 , 在对应位置加入调用WebSocket的JS代码 , 同时 , 可以不调用数据库写入和获取的代码 , 代码如下:
打开src文件夹下js文件夹中的main.js , 找到sendDanmu的函数定义 , 注释掉原代码中的addDanmu调用 , 修改为websocket.send()方法 , 将对应的弹幕Json通过websocket传递 , 代码如下:
直接在DanmuPlayer下 , demo文件夹中 , 创建ws_server.php文件 , 代码如下:
埃尔法哥哥使用Swoole中的WebSocket快速实现弹幕效果
本文插图
打开index.html文件 , 在对应位置加入调用WebSocket的JS代码 , 同时 , 可以不调用数据库写入和获取的代码 , 代码如下:
埃尔法哥哥使用Swoole中的WebSocket快速实现弹幕效果
本文插图
打开src文件夹下js文件夹中的main.js , 找到sendDanmu的函数定义 , 注释掉原代码中的addDanmu调用 , 修改为websocket.send()方法 , 将对应的弹幕Json通过websocket传递 , 代码如下:
埃尔法哥哥使用Swoole中的WebSocket快速实现弹幕效果
本文插图
【埃尔法哥哥使用Swoole中的WebSocket快速实现弹幕效果】