Thinkphp5.0 安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端

使用Workerman和Thinkphp5.0实现WebSocket后端推送,
文章介绍了如何在Thinkphp5.0框架下的ThinkCMF5.0环境中,利用Workerman实现WebSocket的前后端通信,特别是后端如何主动推送消息到前端,确保数据更新时前端页面能自动刷新。配置包括Composer安装、启动命令、服务器配置以及Worker控制器的编写。还涉及到前端WebSocket连接和Nginx的配置,以及进程间通讯的问题。

安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端,实现后端有数据更新时,前端页面自动更新数据。
我使用的是基于Thinkphp5.0的ThinkCMF5.0。
安装:

composer require topthink/think-worker=v1.0.1

启动:

php server.php start -d

public目录下放置的server.php文件,注意里面的配置必须按照你的Worker控制器来:

#!/usr/bin/env php
<?php
// 调试模式开关
define("APP_DEBUG", false);
// 定义 APP 命名空间
define("APP_NAMESPACE", 'api');
// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../');
// 定义应用目录
define('APP_PATH', CMF_ROOT . 'api/');
// 定义CMF目录
define('CMF_PATH', CMF_ROOT . 'simplewind/cmf/');
// 定义网站入口目录
define('WEB_ROOT', __DIR__ . '/');
// 定义插件目录
define('PLUGINS_PATH', __DIR__ . '/plugins/');
// 定义扩展目录
define('EXTEND_PATH', CMF_ROOT . 'simplewind/extend/');
define('VENDOR_PATH', CMF_ROOT . 'simplewind/vendor/');
// 定义应用的运行时目录
define('RUNTIME_PATH',__DIR__.'/../data/runtime/api/');
//define('APP_PATH', __DIR__ . '/api/');
define('BIND_MODULE','user/Worker');
// 加载框架引导文件
require __DIR__ . '/../simplewind/thinkphp/start.php';

woker控制器:

<?php

namespace api\user\controller;
use think\Db;
use think\worker\Server;
use Workerman\Worker;
use Workerman\Lib\Timer;

class WorkerController extends Server
{
   
   
    protected $socket = 'websocket://0.0.0.0:2346';
    protected $uidConnections = 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值