<?php require_once "elephant.io/autoload.php"; //$elephant = new ElephantIO\Client('http://121.40.19.35:333', 'socket.io', 1, false, true, true); $elephant = new ElephantIO\Client(new ElephantIO\Engine\SocketIO\Version1X('http://localhost:333')); $elephant->initialize(); $elephant->emit('broadcast', ["aaa", "bbb"]); $elephant->close(); echo 'tryin to send `bar` to the event {"aaa":"bbb"}'; ?>
function sendServer($channel, $data) { $ELEPHANTIO_PATH = $this->Module->getPath() . '/classes/elephant.io/src'; require_once $ELEPHANTIO_PATH . '/Client.php'; require_once $ELEPHANTIO_PATH . '/AbstractPayload.php'; require_once $ELEPHANTIO_PATH . '/EngineInterface.php'; require_once $ELEPHANTIO_PATH . '/Engine/AbstractSocketIO.php'; require_once $ELEPHANTIO_PATH . '/Engine/SocketIO/Session.php'; require_once $ELEPHANTIO_PATH . '/Engine/SocketIO/Version1X.php'; require_once $ELEPHANTIO_PATH . '/Exception/MalformedUrlException.php'; require_once $ELEPHANTIO_PATH . '/Exception/ServerConnectionFailureException.php'; require_once $ELEPHANTIO_PATH . '/Exception/SocketException.php'; require_once $ELEPHANTIO_PATH . '/Exception/UnsupportedActionException.php'; require_once $ELEPHANTIO_PATH . '/Exception/UnsupportedTransportException.php'; require_once $ELEPHANTIO_PATH . '/Payload/Decoder.php'; require_once $ELEPHANTIO_PATH . '/Payload/Encoder.php'; $EIO = new ElephantIO\Client(new ElephantIO\Engine\SocketIO\Version1X('http://127.0.0.1:3000', ['timeout' => 5])); $EIO->initialize(); $EIO->emit('push', array($channel, $data)); $EIO->close(); }
static function socketEvent($event, array $data) { $options = array('context' => array('http' => array('header' => 'Cookie: access=' . urlencode(WS_SERVER_KEY)))); if (preg_match(new RegExp('\\.lc$'), WS_SERVER_DOMAIN)) { $options['context']['ssl'] = array("verify_peer" => false, "verify_peer_name" => false); } $elephant = new \ElephantIO\Client(new SocketIOEngineVersion1X('https://ws.' . WS_SERVER_DOMAIN . ':8667', $options)); $elephant->initialize(); $elephant->emit($event, $data); $elephant->close(); }
ini_set('display_errors', 1); error_reporting(E_ALL); // TODO: Придумать, где брать путь $logs_dir = __DIR__ . '/../../../../temp/logs/network/'; try { $daemon = new Daemon($logs_dir); $pid = $daemon->run(); // TODO: Добавить периодическую проверку pid-файла на всякий случай. } catch (Exception $e) { exit($e->getMessage()); } $local = new Local(); $events_dir = $local->get_events_dir(); if (!is_dir($events_dir)) { mkdir($events_dir, 0777, true); } $local->save_daemon_pid($pid); $local->log('info', 'Daemon started with pid "' . $pid . '"', 'fast'); $conn_data = $local->get_connection_data(); // TODO: Реакция на отключение сервера. $elephant = new ElephantIO\Client($conn_data['url'], 'socket.io', 2, true, true, $local->is_debug(), $conn_data['namespace'], '127.0.0.1', 10000, 'file', $events_dir); $elephant->setLogger($local); $elephant->setLicence($conn_data['key'], $conn_data['domain']); foreach ($local->get_events() as $event) { $elephant->on($event, function ($data) use($event, $local) { $local->log('info', 'Event received: ' . $event . '(' . serialize($data) . ')', 'fast'); $local->handle($event, $data); }); } pcntl_signal(15, array($elephant, 'close')); $elephant->init(true, true, true, 10000);