var source = new EventSource('books');
source.addEventListener('bookavailable', function(e) {
  var data = JSON.parse(e.data);
  // Aktualizuje element GUI przy użyciu otrzymanych danych...
}, false);

source.addEventListener('newbookadded', function(e) {
  var data = JSON.parse(e.data, function (key, value) {
    var type;
    if (value && typeof value === 'string') {
        return "Wartość łańcucha: "+value;
    }
    return value;

-----------------------------------------------------------------

GET /text HTTP/1.1\r\n Upgrade: WebSocket\r\n Connection:
  Upgrade\r\n Host: www.websocket.org\r\n …\r\n
HTTP/1.1 101 WebSocket Protocol Handshake\r\n
Upgrade: WebSocket\r\n
Connection: Upgrade\r\n
...\r\n

-----------------------------------------------------------------

// utworzenie obiektu WebSocket
var websocket = new WebSocket("coffee");
// ustawienie funkcji zdarzenia wiadomości
websocket.onmessage = function(evt) {
onMessageFunc(evt)
};
// funkcja onMessageFunc wywoływana po nadejściu wiadomości
function onMessageFunc (evt) {
// aktualizacja GUI na podstawie treści wiadomości
}
// wysłanie wiadomości do serwera
websocket.send("coffee.selected.id=1020");
// ustawienie procedury nasłuchu zdarzeń dla zdarzeń typu open
addEventListener('open', function(e){
    onOpenFunc(evt)});
// zamknięcie połączenia
websocket.close();


