74 lines
2.4 KiB
PHP
Executable File
74 lines
2.4 KiB
PHP
Executable File
<?php
|
|
// require '../../../../../vendor/autoload.php'; // Include Ratchet library
|
|
|
|
// require_once '../../../fixed/config/private.php'; // Include your database configuration
|
|
|
|
// use Ratchet\MessageComponentInterface;
|
|
// use Ratchet\ConnectionInterface;
|
|
// use Ratchet\Server\IoServer;
|
|
// use Ratchet\Http\HttpServer;
|
|
// use Ratchet\WebSocket\WsServer;
|
|
|
|
// class DataUpdates implements MessageComponentInterface {
|
|
// protected $clients;
|
|
// protected $pdo; // Database connection
|
|
|
|
// public function __construct() {
|
|
// global $host_db,$name_db,$user_db,$pass_db;
|
|
// $this->clients = new \SplObjectStorage();
|
|
// $this->pdo = new PDO("mysql:host=" . $host_db . ";dbname=" . $name_db, $user_db, $pass_db);
|
|
// }
|
|
|
|
// public function onOpen(ConnectionInterface $conn) {
|
|
// // Add the new connection to the clients list
|
|
// $this->clients->attach($conn);
|
|
// echo "new connection ({$conn->resourceId})\n";
|
|
|
|
// // Retrieve initial data from the database and send it to the client
|
|
// $initialData = $this->fetchDataFromDatabase();
|
|
// $conn->send(json_encode($initialData));
|
|
// }
|
|
|
|
// public function onMessage(ConnectionInterface $conn, $msg) {
|
|
// // Handle incoming messages (if any)
|
|
// }
|
|
|
|
// public function onClose(ConnectionInterface $conn) {
|
|
// // Remove the connection when the client disconnects
|
|
// $this->clients->detach($conn);
|
|
// echo "dicc connection ({$conn->resourceId})\n";
|
|
// }
|
|
|
|
// public function onError(ConnectionInterface $conn, \Exception $e) {
|
|
// echo "error connection ({$e->getMessage})\n";
|
|
// // Handle errors here (e.g., log or close the connection)
|
|
// $conn->close();
|
|
// }
|
|
|
|
|
|
|
|
// // Function to send data to all connected clients
|
|
// public function sendDataToClients($data) {
|
|
// foreach ($this->clients as $client) {
|
|
// $client->send(json_encode($data));
|
|
// }
|
|
// }
|
|
|
|
// // Function to fetch data from the database (customize as needed)
|
|
// private function fetchDataFromDatabase() {
|
|
// $stmt = $this->pdo->prepare("SELECT * FROM book LIMIT 15");
|
|
// $stmt->execute();
|
|
// return $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
// }
|
|
// }
|
|
|
|
// $server = IoServer::factory(
|
|
// new HttpServer(
|
|
// new WsServer(
|
|
// new DataUpdates()
|
|
// )
|
|
// ),
|
|
// 8080 // Change the port as needed
|
|
// );
|
|
|
|
// $server->run();
|