public function disconnect($waitTime = 50) { $this->client->disconnect($waitTime); $this->connected = FALSE; }
<?php require 'loader.php'; use Tembo\Message; use Tembo\SocketIOClient; $client = new SocketIOClient('http://localhost:8080'); $client->connect(); $client->emit('subscribe', ['room' => 'test']); $received = 0; try { $client->listen(function ($event, Message $message = null) use(&$received) { if ($message !== null) { $args = json_decode(current($message->getArgs())); $message = sprintf('packet: %d, time: %f, heartbeats: %d', $args->packet, $args->time, $args->heartbeats); writeDebug($message); } }); } catch (\RuntimeException $e) { echo $e->getMessage(); }
<?php require_once __DIR__ . '/../vendor/autoload.php'; use Tembo\SocketIOClient; use Tembo\Message; $client = new SocketIOClient('http://localhost:8080'); $client->connect(); $client->emit('subscribe', ['room' => 'test']); try { $client->listen(function ($event, Message $message = null) { if ($message !== null) { $args = current($message->getArgs()); $msg = sprintf('%s: event: %s, message: %s', date('H:i:s', $args->timestamp), $message->getName(), $args->message); echo $msg . "\n"; } }); } catch (\RuntimeException $e) { echo $e->getMessage(); }
<?php require 'loader.php'; use ElephantIO\Message; use Tembo\SocketIOClient; $client = new SocketIOClient('http://localhost:8080'); $client->connect(); $sent = 0; $start = microtime(true); $heartbeats = 0; $heartbeatMark = 20000; while (true) { try { $time = microtime(true); $elapsedTime = $time - $start; if ($sent % $heartbeatMark === 0) { $client->heartbeat(); $heartbeats++; } $payload = array("packet" => $sent, "time" => $elapsedTime, 'heartbeats' => $heartbeats); $message = sprintf('packet: %d, time: %f, heartbeats: %d', $sent, $elapsedTime, $heartbeats); $client->message($payload); $sent++; writeDebug($message); usleep(1 * 1000); } catch (\RuntimeException $e) { echo $e . "\n"; break; } } $client->disconnect();