2016-08-09 47 views
0

Ich bin neu bei NodeJS und Faye/WebSockets.Faye Websocket in NodeJS

Eine Datatable mit Webix gemacht und ich möchte ein Live-Update zu machen.

Recht versucht nun, um es mit Faye, aber nicht ganz sicher, was soll ich nach Faye tun schickt mir eine Anfrage, die so aussieht:

[{"channel":"/meta/handshake","version":"1.0","supportedConnectionTypes":["websocket","eventsource","long-polling","cross-origin-long-polling","callback-polling"],"id":"1"}] 

und bekommt ein respones:

[{"id":"1","channel":"/meta/handshake","successful":true,"version":"1.0","supportedConnectionTypes":["long-polling","cross-origin-long-polling","callback-polling","websocket","eventsource","in-process"],"clientId":"8bkeysctea7ucerz9h3tyjz0n52s5os","advice":{"reconnect":"retry","interval":0,"timeout":45000}}] 

auf dem Server (NodeJS) ich habe den folgenden Code:

var http = require("http"), 
    faye = require("faye"); 


    var server = http.createServer(function (request, response) { 
      //Here i have some code for the CRUD operations for the webix Datatable  
    }), 
     bayeux = new faye.NodeAdapter({ mount: '/faye', timeout: 45 }); 

    bayeux.attach(server); 
    server.listen(1212, function() { 
     console.log("\r\n" + new Date() + "\n -->> HTTP Server listens to Port 1212 <<--\r\n "); 
    }); 

auf der Client-Seite (JS)

webix.proxy.faye.client = new Faye.Client("//localhost:1212/faye");  
webix.proxy.faye.clientId = webix.uid(); // unique client id 
webix.proxy.faye.client.connect(); 

HTML:

<script type="text/javascript" src="//localhost:1212/faye/client.js"></script> 

(Nahm preatty viel alles von webix Beispiele + faye Beispiele)

Vielleicht kann mir jemand erklären, was als nächstes zu tun, oder einen Link geben, wo ich kann, Lesen Sie mehr über Websockets und wie Sie damit arbeiten.

Vielen Dank für Ihre Zeit.

Antwort

0

Nachdem Sie so konfiguriert haben, auf dem Client-Faye und auf der Serverseite, können Sie es als Datenquelle für jede Komponente

{ 
view: "datatable", 
url: "faye->/data", 
save: "faye->/data" 
} 

Beachten Sie, dass Faye wird nur verwendet, um Daten zwischen den Clients für die Synchronisierung, wird es nicht Laden oder Speichern von Daten in der realen Datenbank

+0

ssry für eine Verzögerung, ist Ihre Antwort richtig. Und auch mein Tisch funktionierte nicht, denn wie du sagtest "Faye wird nur zum Synchronisieren von Daten zwischen Clients verwendet" und ich dachte, dass ich ihn mit faye laden und updaten kann – MarkL