Упрощенные сокеты на yii2

94
23 июня 2021, 01:20

В общем, у меня есть написанная техподдержка на yii2, но я хочу обновлять её через сокеты, т.е. если человеку отвечают, там появляется надпись "техподдержка отвечает", как только техподдержка ответила, я хочу у клиента обновить страницу т.к. она через pjax работает, но все расширения, которые я смог найти работают по другому, в общем, кто знает как можно сделать такой функционал или хоть подскажите в какую сторону рыть.

Answer 1

Используйте библиотеку Ratchet. Установка библиотеки не займет много усилий, просто в корне сайта создайте папку ratchet, а в ней файл Chat.php. Из документации скопируйте код и вставьте его в файл. Затем в папке commands создайте файл консольного приложения, который выглядит примерно так:

<?php
namespace app\commands;
use app\ratchet\Chat;
use yii\console\Controller;
use Ratchet\Http\HttpServer;
use Ratchet\Server\IoServer;
use Ratchet\WebSocket\WsServer;
class ChatController extends Controller
{
    public function actionRun()
    {
        $server = IoServer::factory(
            new HttpServer(
                new WsServer(
                    new Chat()
                )
            ),
            8080
        );
        $server->run();
    }
}

После пишите код и запускайте сервер через консольное приложение Yii2. С начала советую попробовать сделать чат из документации, когда все заработает, начните реализовывать свою задачу.

READ ALSO
Как в цикле вывести разные классы ?(wordpress)

Как в цикле вывести разные классы ?(wordpress)

Суть в следующем, верстальщик сверстал иконки шаговМне нужно выводить это циклом

95
Unit тестирование Laravel

Unit тестирование Laravel

Как правильно организовать тестирование по сценарию:

110