From 06031351cf00986e7c2118ddcf892fa1c7e7234e Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Mon, 27 Aug 2018 00:47:26 +0200 Subject: Added basic websocket service --- infrastructure/Http/WebSocketController.php | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 infrastructure/Http/WebSocketController.php (limited to 'infrastructure/Http') diff --git a/infrastructure/Http/WebSocketController.php b/infrastructure/Http/WebSocketController.php new file mode 100644 index 0000000..19e0868 --- /dev/null +++ b/infrastructure/Http/WebSocketController.php @@ -0,0 +1,56 @@ +connections[$conn->resourceId] = compact('conn') + ['user_id' => null]; + } + + /** + * This is called before or after a socket is closed (depends on how it's closed). SendMessage to $conn will not result in an error if it has already been closed. + * @param ConnectionInterface $conn The socket/connection that is closing/closed + * @throws \Exception + */ + function onClose(ConnectionInterface $conn) + { + $disconnectedId = $conn->resourceId; + unset($this->connections[$disconnectedId]); + } + + /** + * If there is an error with one of the sockets, or somewhere in the application where an Exception is thrown, + * the Exception is sent back down the stack, handled by the Server and bubbled back up the application through this method + * @param ConnectionInterface $conn + * @param \Exception $e + * @throws \Exception + */ + function onError(ConnectionInterface $conn, \Exception $e) + { + unset($this->connections[$conn->resourceId]); + $conn->close(); + } + + /** + * Triggered when a client sends data through the socket + * @param \Ratchet\ConnectionInterface $conn The socket/connection that sent the message to your application + * @param string $msg The message received + * @throws \Exception + */ + function onMessage(ConnectionInterface $conn, $msg) + { + + } +} \ No newline at end of file -- cgit v1.2.3