@Kulebiaka

Проблемы с WebSocket при создание чата на yii2?

Создаю чат на yii2 через WebSocket, по данному туториалу, проблема заключается в следующем, при загрузке страницы ошибка:

Class 'consik\yii2websocket\WebSocketServer' not found.

Делал всё чётко по инструкции, обновлял composer, думал дело в отсутствие автозагрузки файлов, но после в composer прописал её
"autoload": {
        "psr-4": {
            "consik\\yii2websocket\\": ""
        }
    },

Всё осталось так же.

617703a69384d294164724.png
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
@YahorDanchanka
Frontend developer
Если вы используете готовую тему (в вашем случае basic), в composer без знаний лезть не нужно. Ничего там добавлять не нужно.
Вам необходимо создать "демона" с его логикой:
<?php
namespace app\daemons;

use consik\yii2websocket\events\WSClientMessageEvent;
use consik\yii2websocket\WebSocketServer;

class EchoServer extends WebSocketServer
{

    public function init()
    {
        parent::init();

        $this->on(self::EVENT_CLIENT_MESSAGE, function (WSClientMessageEvent $e) {
            $e->client->send( $e->message );
        });
    }

}

Создать команду (в yii2 app advanced папка console):
<?php
namespace app\commands;

use app\daemons\EchoServer;
use yii\console\Controller;

class ServerController extends Controller
{
    public function actionStart($port = null)
    {
        $server = new EchoServer();
        if ($port) {
            $server->port = $port;
        }
        $server->start();
    }
}

И теперь можно запустить наш веб-сокет сервер: php yii server/start
Соблюдайте только неймспейсы (выше описаны имена для basic шаблона).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы