我想为我的网站开发一个聊天应用程序,所以在学习时我发现websocket是实时通信的最佳解决方案,因此我决定使用Ratchet。
我可以设置它并创建一个基本的聊天应用程序。这是Chat类。
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();
}
}
但在我继续(或可以继续)之前,我有以下问题: