goodizer/yii2-websocket

为Yii2的组件

安装: 616

依赖: 0

建议: 0

安全: 0

星标: 2

关注者: 1

分支: 2

开放问题: 0

类型:yii2-components

v1.0.8 2020-07-18 21:57 UTC

This package is not auto-updated.

Last update: 2024-09-25 16:06:21 UTC


README

Latest Stable Version License Total Downloads Monthly Downloads Daily Downloads

基于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]]));