Приватный чат в Ratchet
Подскажите, пожалуйста, примером или способом, как реализовывать приватный чат. В голове представляю как это должно быть, но кодом изобразить что-то не выходит.
Дано:
- id отправителя (например, 12334),
- id получателя (например, 12336),
- текст сообщения,
- уникальный идентификатор комнаты (например, UCODE123331)
Все ID'ы пишутся в базу. Стандартная конструкция у либы идет такая
foreach ($this->clients as $client) {
if ($from !== $client) {
// The sender is not the receiver, send to each client connected
$client->send($msg);
}
}
Но это отправляет сообщение вообще всем, кроме отправителя. Я полагаю, что можно как то проверить, если существует уникальный идентификатор комнаты, то отправлять сообщение пользователю из этой комнаты. В ином случае отправлять всем. Вроде просто, а туплю ужас как. В гугле лазил, но путного не нашел. Выручайте