您现在的位置是:技术博客 > PHPPHP fastadmin集成socket 2022-06-10 15:28【代码】274人已围观 简介Fastadmin集成socket,实现广播和客户端通信 #### 1、安装socket插件,配置参数 (1)配置面板参数  提示:session name的值需要跟php配置中的session.name相同,端口号需要在安全组中放行。 (2)在/application/config.php中增加以下配置 ``` // 驱动方式 支持redis memcache memcached 'type' => 'redis', // 是否自动开启 SESSION 'auto_start' => true, 'host' => '127.0.0.1', 'port' => 'xx', 'password' => 'xxx', ``` #### 2、启动websocket服务 ``` # 切换到start.php目录下 cd ./addons/websocketpush/library/web-msg-sender # 以后台守护的方式启动start.php php start.php start -d # 以调试的方式启动start.php,测试时用这种方式启动,可以在命令窗口看到打印数据,方便调试 php start.php start # 停止 php start.php stop # 重启 php start.php reload ``` #### 3、推送消息给已登录的后台管理员 在任意一个控制器的方法中,触发以下代码。 ``` // 给fa_auth_group表的name为 Admin group 的用户组,推送“后台消息”。 \addons\websocketpush\Websocketpush::pushToGroups('后台消息!', ['Admin group']); // 给fa_admin表的id为 1和2 的用户,推送“后台消息”。 \addons\websocketpush\Websocketpush::pushToIds('后台消息!', [1,2,3]); ``` 提示: 1、被推送的对象需要`登录后台`,才能收到。 2、推送的消息将会以弹窗的形式出现。 3、注意上面配置的是`http还是https`协议,如果是http协议,则后台管理员需要用http协议登录后台,才能收到消息,所以,建议网站不要配置强制https。 被推送的管理员登录后,sh命令窗口打印数据(打印代码是自己加的,在start.io.php文件中)如下:  登录后,触发上面的推送接口,收到消息的效果图如下:  #### 4、与其他客户端的通信 (1)、将压缩包解压到文件夹,浏览器访问index.html,html的核心代码如下: ``` <script> $(document).ready(function () { // 连接服务端 // 随便定义一个uid var uid = 'suiji001'; var socket = io('http://ip:端口'); // 连接后登录 socket.on('connect', function(){ socket.emit('login', uid); }); // 后端推送来消息时 socket.on('new_msg', function(msg){ $('#content').html('收到消息:'+msg); $('.notification.sticky').notify(); }); // 后端推送来在线数据时 socket.on('update_online_count', function(online_stat){ $('#online_box').html(online_stat); }); }); </script> ``` socket连接成功后,后台给上面的用户suiji001,推送一条消息 页面效果如下:  #### 5、常见问题解决方案 (1)由于通过正则读取了token.key进行请求签名计算,所以token、缓存前缀、key这3个字符串本身`不能删除和修改顺序`,key值修改无影响;如果提示签名错误可查看是否修改了这里 ``` 'token' => [ // 驱动方式 'type' => 'Mysql', // 缓存前缀 'key' => 'Wp14xxxxxxxxxxxc6ygd2BRX', // 加密方式 'hashalgo' => 'rixxxxx0', // 缓存有效期 0表示永久缓存 'expire' => 0, ], ``` 转载:感谢您对Lucas个人博客网站平台的认可,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源Lucas个人博客”。 很赞哦! ( 0 ) 上一篇:fastadmin集成epay支付 下一篇:fastadmin开发记录 相关文章 高并发库存防控超量 Swoole 基础篇一(初识) Sublime代码格式化 Session与Cookie 点击排行 生活不止眼前的苟且,还有诗和远方 十年一觉电影梦 奥地利基茨比厄尔 禅修治愈身心 自律成就自我 零边际成本社会 Modern PHP 鸟哥的Linux私房菜 本栏推荐 要技术,更要有创意 定时任务 Curl无法发送https请求 Lnmp环境搭建 常用的SQL函数 Windows的cmd指令 ueditor工具栏浮动bug 有趣的js插件 标签云 git laravel swoole javascript vue ajax html css sql linux docker flask django nginx apache thinkphp markdown sublime wechat layui photoshop nodejs mysql windows composer java maven springboot mybatis IDE 猜你喜欢 Swoole 基础篇一(初识) PHP进程管理器 正则的快速上手 Sublime代码格式化 Lnmp环境搭建 高并发库存防控超量 Linux之top命令 常用的SQL函数 站点信息 建站时间:2018-05-01 在线人数:1人 文章统计:263篇 总浏览量:222638次 统计数据:百度统计 个人信息:扫描二维码查看