/** * Triggered when a client sends data through the socket * @param \Ratchet\ConnectionInterface $from The socket/connection that sent the message to your application * @param string $msg The message received * @throws \Exception */ function onMessage(ConnectionInterface $from, $msg) { $clientMessageArray = json_decode($msg, true); if (!isset($clientMessageArray['action'])) { throw new SignalingServerException("Client message should contain action key"); } switch ($clientMessageArray['action']) { case ClientMessageAction::OWNER_ENTER(): $this->processForOwnerEnterMessage($from, $this->container->get("ws.service.signaling.client_message_factory")->createOwnerEnterMessage($msg)); break; case ClientMessageAction::SUBSCRIBER_ENTER(): $this->processForSubscriberEnterMessage($from, $this->container->get("ws.service.signaling.client_message_factory")->createSubscriberEnterMessage($msg)); break; case ClientMessageAction::SUBSCRIBER_SEND_DATA(): $this->processForSubscriberSendDataMessage($from, $this->container->get("ws.service.signaling.client_message_factory")->createSubscriberSendDataMessage($msg)); break; default: throw new SignalingServerException("Unknown action in client message"); } }
/** * @return ClientMessageAction */ public function getAction() { return ClientMessageAction::SUBSCRIBER_SEND_DATA(); }
/** * @return ClientMessageAction */ public function getAction() { return ClientMessageAction::OWNER_ENTER(); }
/** * @return ClientMessageAction */ public function getAction() { return ClientMessageAction::SUBSCRIBER_ENTER(); }