Приватный чат в Ratchet

Подскажите, пожалуйста, примером или способом, как реализовывать приватный чат. В голове представляю как это должно быть, но кодом изобразить что-то не выходит.

Дано:

  1. id отправителя (например, 12334),
  2. id получателя (например, 12336),
  3. текст сообщения,
  4. уникальный идентификатор комнаты (например, UCODE123331)

Все ID'ы пишутся в базу. Стандартная конструкция у либы идет такая

                        foreach ($this->clients as $client) {
                            if ($from !== $client) {
                                // The sender is not the receiver, send to each client connected
                                $client->send($msg);
                            }
                        }   

Но это отправляет сообщение вообще всем, кроме отправителя. Я полагаю, что можно как то проверить, если существует уникальный идентификатор комнаты, то отправлять сообщение пользователю из этой комнаты. В ином случае отправлять всем. Вроде просто, а туплю ужас как. В гугле лазил, но путного не нашел. Выручайте


Ответы (0 шт):