goodizer / yii2-websocket
为Yii2的组件
v1.0.8
2020-07-18 21:57 UTC
Requires
- php: ^7.3
- workerman/workerman: ^4.0
- yiisoft/yii2: ^2.0
This package is not auto-updated.
Last update: 2024-09-25 16:06:21 UTC
README
基于workerman/workerman的Yii2 WebSocket组件
安装
推荐通过composer安装此扩展。
注意:请检查此扩展的依赖和要求,见composer.json。
运行以下命令之一:
$ php composer.phar require goodizer/yii2-websocket
或者
"goodizer/yii2-websocket": "*"
将以下内容添加到你的composer.json
文件的require
部分:
用法
GridSearchHelper
设置WebSocket组件配置。
'components' => [ ... 'websocketServer' => [ 'class' => 'goodizer\websocket\Server', 'commandClass' => 'console\extensions\Commands',//Your class that inherit goodizer\websocket\Commands 'host' => $params['websocketServer']['host'] ?? 'localhost', 'port' => $params['websocketServer']['port'] ?? 8000, 'isSecure' => $params['websocketServer']['isSecure'] ?? false, 'localCert' => $params['websocketServer']['localCert'] ?? null, 'localPk' => $params['websocketServer']['localPk'] ?? null, ], ... ],
创建控制器
<?php namespace console\controllers; use Yii; use yii\console\Controller; use goodizer\websocket\Server; /** * Class WebsocketServerController * @package console\controllers */ class WebsocketServerController extends Controller { /** * @throws \Exception */ public function actionStart() { /** @var Server $server */ $server = Yii::$app->websocketServer; $server->start(); } }
...然后在控制台运行
#php yii websocket-server\start
从后端作为客户端向服务器发送数据
/** @var goodizer\websocket\Client $client */ $client = Yii::$app->get('websocketClient'); $client->send(json_encode(['method' => 'foo', 'params' => ['bar' => true]]));