if (!$parser->parse($message)) { fwrite(STDERR, colorize(getenv('sid'), 'yellow') . " " . $parser->getError() . "\n"); } if ($restart) { $session = \Sessionx::start(); \Moxl\Stanza\Stream::init($session->host); stream_set_blocking($conn->stream, 0); $restart = false; } $msg = \RPC::commit(); \RPC::clear(); if (!empty($msg)) { echo base64_encode(gzcompress(json_encode($msg), 9)) . ""; #fwrite(STDERR, colorize($msg.' '.strlen($msg), 'yellow')." : ".colorize('sent to browser', 'green')."\n"); } $xml = \Moxl\API::commit(); \Moxl\API::clear(); if (!empty($xml)) { $conn->write(trim($xml)); #fwrite(STDERR, colorize(trim($xml), 'yellow')." : ".colorize('sent to XMPP', 'green')."\n"); } } // Two ticks to be sure that we get everything from the socket, sic… $loop->tick(); $loop->tick(); }); $conn->on('error', function ($msg) use($conn, $loop) { #fwrite(STDERR, colorize(serialize($msg), 'red')." : ".colorize('error', 'green')."\n"); $loop->stop(); }); $conn->on('close', function ($msg) use($conn, $loop) {