Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (1)
  • Как создать приватный чат на symfony?

    2 дня голову ломал, вот решение: сразу после соединения с клинта посылаем id (ну или какое то свойство, которое будет служить идентификатором пользователя), взятый откуда угодно, допустим из input[hidden].

    conn.onopen = function(e) {
        conn.send(JSON.stringify({userId : document.getElementById('user_id').value}));
    };


    Дальше нужно динамически записать этот id в свойство объекта: ConnectionInterface $conn

    public function onMessage(ConnectionInterface $from, $msg)
    {
            $data = json_decode($msg);
    
            if (property_exists($data, 'userId')) {
                $userId = $data->userId;
                $from->userId = $userId;
    
                $this->users[$userId] = $from;
            } else {
                $this->users[$data->to]->send($msg);
            }
    }

    Т.е парсим прилетевший к нам Json, и смотрим, если есть специальный флаг userId, то просто приклеим к нашему объекту подключения. Думаю понятно, остальное сами дофантазируете :)
    Ответ написан
    3 комментария