Example #1
0
<?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"}';
?>


Example #2
0
 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();
 }
Example #3
0
 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);