Можно ли использовать Ratchet для нескольких наблюдений?

Я хотел разработать чат-приложение для своего сайта, поэтому, узнав, я обнаружил, что websocket — лучшее решение для общения в реальном времени, и поэтому я решил использовать трещотка.

Я могу настроить его и создать базовое приложение для чата. Вот класс чата.

class Chat implements MessageComponentInterface
{
protected $clients;

public function __construct()
{
$this->clients = new \SplObjectStorage;
}

public function onOpen(ConnectionInterface $conn)
{
$this->clients->attach($conn);
}

public function onMessage(ConnectionInterface $from, $msg)
{
foreach ($this->clients as $client) {
if($client !== $from)
$client->send($msg);
}
}
public function onClose(ConnectionInterface $conn)
{
$this->clients->detach($conn);
}
public function onError(ConnectionInterface $conn, \Exception $e)
{
echo "The following error occured :".$e->getMessage();
$conn->close();
}
}

Но у меня есть следующие вопросы, прежде чем я продолжу (или могу продолжить) дальше:

  1. Могу ли я использовать Ratchet для частного общения между двумя пользователями?
  2. Как масштабируется Ratchet? Я имею в виду, если у меня есть веб-сайт с 1 миллионом пользователей, и я позволяю кому-либо общаться с кем-либо, то как это возможно? Или я ограничен в создании ограниченных общедоступных чатов (например, SO), где каждый может
    присоединиться?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]