composer require workerman/workerman-for-win
composer require topthink/ think-worker v1.0.1
安装好以后,在项目根目录新建server.php文件
<?phpdefine('APP_PATH',__DIR__.'/application/');
define('BIND_MODULE','push/Worker');
// 加载框架引导文件
require__DIR__.'/thinkphp/start.php';
然后新增worker文件
<?php
namespace app\push\controller;
usethink\worker\Server;
classWorker extends Server
{
protected $socket='websocket://0.0.0.0:2346';
/**
* 收到信息
* @param $connection
* @param $data
*/
public functionon Message($connection,$data){$connection->send('我收到你的信息了');}
/**
* 当连接建立时触发的回调函数
* @param $connection
*/
public functionon Connect($connection){$connection->send('正在连接');}
/**
* 当连接断开时触发的回调函数
* @param $connection
*/
public function onClose($connection){$connection->send('连接关闭');$connection->close();}
/**
* 当客户端的连接上发生错误时触发
* @param $connection
* @param $code
* @param $msg
*/
public functionon Error($connection,$code,$msg){echo"error$code$msg\n";}
/**
* 每个进程启动
* @param $worker
*/
public functionon WorkerStart($worker){}}
搞完项目根目录 命令行 php server.php
出现上图代表成功
其中遇到两个坑
1.think-worker v1.0.1 需带上1版本,不然会安装出错
2.整合到自己项目时需关闭 调试模式,后来再网深看,时谁吧TP5的log驱动删除了。导致调试模式下抛出异常致最终WORKERS框不能弹出来