Laravel框架中集成并使用workerman、websocket流程步骤
Laravel  /  管理员 发布于 3年前   2687
1、安装 workerman
composer require workerman/workerman
2、创建 workerman 启动文件
php artisan make:command Workerman
修改 Workerman 文件:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Workerman\Worker;
class Workerman extends Command
{
protected $websocket;
/**
* 命令名称
*
* @var string
*/
protected $signature = 'workerman:websocket {action} {--daemonize}';
/**
* 说明描述
*
* @var string
*/
protected $description = 'workerman websocket';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
*/
public function handle()
{
global $argv;
$action=$this->argument('action');
$argv[0]='workerman:websocket';
$argv[1]=$action;
$argv[2]=$this->option('daemonize')?'-d':'';
$ws_worker = new Worker('websocket://0.0.0.0:2000');
$ws_worker->onMessage=function($connection,$data){
$connection->send('laravel workerman hello world');
};
Worker::runAll();
}
}
3、注册启动文件
在 app/Console/Kernel.php 中添加以下代码
protected $commands = [
//
Commands\Workerman::class
];
4、命令行启动 workerman
php artisan workerman:websocket start
看看效果区分linux、windows
linux:
Workerman[workerman:websocket] start in DEBUG mode
------------------------------------------- WORKERMAN --------------------------------------------
Workerman version:4.0.22 PHP version:7.4.0
-------------------------------------------- WORKERS ---------------------------------------------
proto user worker listen processes status
tcp root none websocket://0.0.0.0:2000 1 [OK]
--------------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
windows:
注意:
如果出现无法监听的情况
需要修改 workerman 下 Worker.php 文件中的 getStartFilesForWindows 函数
代码:
public static function getStartFilesForWindows() {
global $argv;
$files = array();
_$file = $argv;
$files = $file;
return $files;
}
完
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号