#!/usr/bin/env php <?php require __DIR__ . '/../vendor/autoload.php'; use React\ZMQ\Context; //use React\EventLoop\Factory; use Ratchet\Server\IoServer; use Ratchet\Http\HttpServer; use Ratchet\WebSocket\WsServer; use App\System\ClockServer; use App\System\Daemon; $daemon = new Daemon(__DIR__ . '/../pids/clock' . '.pid'); $daemon->smallInit(); $transport = 'tcp'; $address = '127.0.0.1'; $port = '5881'; //$loop = Factory::create(); ??? $clock = new ClockServer(); $server = IoServer::factory(new HttpServer(new WsServer($clock)), 8080); $context = new Context($server->loop); $pull = $context->getSocket(ZMQ::SOCKET_PULL); $pull->bind($transport . "://" . $address . ":" . $port); // Binding to 127.0.0.1 means the only client that can connect is itself $pull->on('message', array($clock, 'onClockMessage')); $server->run();