node.js?$ $ Pokud máte už běžící aplikaci, tak napsáním WS funkcionality v PHP budete těžit z jednotné codebase, využití znalostí týmu a stejných procesů na testování, continuous integration, build a deployment.$ $ Pokud stavíte na zelené louce a chcete se naučit něco nového, tak vás do PHP nutit nebudu :)
http://u.k47.cz/2Bw Request 1 Response 1 Request 2 Response 2 Request 3 Response 3 Request 4 Response 4 React je asynchronní, ale ne paralelní – běží stále v jednom vlákně.
React\EventLoop\Factory; use React\Socket\Server; $ $loop = Factory::create(); $server = new Server($loop); $server-‐>listen(8080, '0.0.0.0'); $ new IoServer( new HttpServer(new WsServer($app)), $server ); $ $loop-‐>run(); Spuštěný proces spravujte např. pomocí supervisord.org, aby stále běžel.
{ $ public function onOpen(Client $client) { $ } $ public function onMessage(Client $client, $message) { $ } $ public function onClose(Client $client) { } $ public function onError(Client $client, \Exception $e) { $ } $ }
pět sekund }); $ $loop-‐>addPeriodicTimer(5, function() { // každých pět sekund }); Na odpojení uživatele při neaktivitě, na zasílání pingu pro udržení připojení. Časovače jsou jen v paměti, po pádu a obnovení procesu je musíte zrekonstruovat.
zabezpečenou komunikaci zajistí$ Webserver může WebSockety poskytnout na klasických portech (80 a 443) – např. na subdoméně$ Apache – mod_proxy_wstunnel