All Projects → hoaproject → Eventsource

hoaproject / Eventsource

The Hoa\Eventsource library.

Projects that are alternatives of or similar to Eventsource

Event
The Hoa\Event library
Stars: ✭ 319 (+222.22%)
Mutual labels:  hoa, library
Math
The Hoa\Math library.
Stars: ✭ 370 (+273.74%)
Mutual labels:  hoa, library
File
The Hoa\File library.
Stars: ✭ 322 (+225.25%)
Mutual labels:  hoa, library
Stream
The Hoa\Stream library.
Stars: ✭ 313 (+216.16%)
Mutual labels:  hoa, library
Eventsource
EventSource client for Node.js and Browser (polyfill)
Stars: ✭ 541 (+446.46%)
Mutual labels:  eventsource, server-sent-events
Exception
The Hoa\Exception library.
Stars: ✭ 316 (+219.19%)
Mutual labels:  hoa, library
Console
The Hoa\Console library.
Stars: ✭ 354 (+257.58%)
Mutual labels:  hoa, library
Zformat
The Hoa\Zformat library.
Stars: ✭ 265 (+167.68%)
Mutual labels:  hoa, library
Compiler
The Hoa\Compiler library.
Stars: ✭ 458 (+362.63%)
Mutual labels:  hoa, library
Websocket
The Hoa\Websocket library.
Stars: ✭ 421 (+325.25%)
Mutual labels:  hoa, library
Regex
The Hoa\Regex library.
Stars: ✭ 308 (+211.11%)
Mutual labels:  hoa, library
Devtools
The Hoa\Devtools library.
Stars: ✭ 5 (-94.95%)
Mutual labels:  hoa, library
Protocol
The Hoa\Protocol library.
Stars: ✭ 308 (+211.11%)
Mutual labels:  hoa, library
Consistency
The Hoa\Consistency library.
Stars: ✭ 317 (+220.2%)
Mutual labels:  hoa, library
Visitor
The Hoa\Visitor library.
Stars: ✭ 269 (+171.72%)
Mutual labels:  hoa, library
Iterator
The Hoa\Iterator library.
Stars: ✭ 333 (+236.36%)
Mutual labels:  hoa, library
okhttp-eventsource
Server-sent events (SSE) client implementation for Java, based on OkHttp: http://javadoc.io/doc/com.launchdarkly/okhttp-eventsource
Stars: ✭ 70 (-29.29%)
Mutual labels:  server-sent-events, eventsource
ruby-eventsource
Server-sent events (SSE) client implementation for Ruby
Stars: ✭ 19 (-80.81%)
Mutual labels:  server-sent-events, eventsource
Ustring
The Hoa\Ustring library.
Stars: ✭ 403 (+307.07%)
Mutual labels:  hoa, library
Ruler
The Hoa\Ruler library.
Stars: ✭ 612 (+518.18%)
Mutual labels:  hoa, library

Hoa


Build status Code coverage Packagist License

Hoa is a modular, extensible and structured set of PHP libraries.
Moreover, Hoa aims at being a bridge between industrial and research worlds.

Hoa\Eventsource

Help on IRC Help on Gitter Documentation Board

This library allows to manipulate the EventSource (aka Server-Sent Events) technology by creating a server.

Learn more.

Installation

With Composer, to include this library into your dependencies, you need to require hoa/eventsource:

$ composer require hoa/eventsource '~3.0'

For more installation procedures, please read the Source page.

Testing

Before running the test suites, the development dependencies must be installed:

$ composer install

Then, to run all the test suites:

$ vendor/bin/hoa test:run

For more information, please read the contributor guide.

Quick usage

We propose as a quick overview to send an unlimited number of events from the server to the client. The client will display all received events. Thus, in Server.php:

$server = new Hoa\Eventsource\Server();

while (true) {
    // “tick” is the event name.
    $server->tick->send(time());
    sleep(1);
}

And in index.html, our client:

<pre id="output"></pre>
<script>
var output = document.getElementById('output');

try {
    var source    = new EventSource('Server.php');
    source.onopen = function () {
        output.appendChild(document.createElement('hr'));

        return;
    };
    source.addEventListener('tick', function (evt) {
        var samp       = document.createElement('samp');
        samp.innerHTML = evt.data + '\n';
        output.appendChild(samp);

        return;
    });
} catch (e) {
    console.log(e);
}
</script>

Start your HTTP server and then open index.html.

The Hoa\Eventsource\Server::setReconnectionTime method allows to redefine the time before the client will reconnect after a disconnection. The Hoa\Eventsource\Server::getLastId method allows to retrieve the last ID sent to the client.

Awecode

The following awecodes show this library in action:

  • Hoa\Eventsource: why and how to use Hoa\Eventsource\Server? A simple and daily useful example will illustrate the EventSource technology (or Server-Send Events).

Documentation

The hack book of Hoa\Eventsource contains detailed information about how to use this library and how it works.

To generate the documentation locally, execute the following commands:

$ composer require --dev hoa/devtools
$ vendor/bin/hoa devtools:documentation --open

More documentation can be found on the project's website: hoa-project.net.

Getting help

There are mainly two ways to get help:

Contribution

Do you want to contribute? Thanks! A detailed contributor guide explains everything you need to know.

License

Hoa is under the New BSD License (BSD-3-Clause). Please, see LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].