/ / Jak skonfigurować połączenie i dostęp do gniazda węzła za pomocą REST - angularjs, sockets, websocket, sails.js

Jak skonfigurować połączenie z gniazdem węzła i dostęp za pomocą REST - angularjs, sockets, websocket, sails.js

Chcę mieć trasę na moim serwerze węzłów sailsjsto jest połączenie przez gniazdo. Chcę następnie wysłać żądanie odpoczynku na tę trasę spoza aplikacji, aby gniazdo usłyszyło zdarzenie i zaktualizowało interfejs użytkownika mojej aplikacji.

Jak dotąd wszystko, co widziałem w Internecie, to posiadanie samego serwera WebSocket. Czy nie ma sposobu na zintegrowanie go z istniejącym serwerem?

Jestem tu trochę zagubiony. Czy ktoś może skierować mnie do samouczka, który to robi?

Pytanie: Jak wysłać żądanie odpoczynku na mój serwer spoza aplikacji i pozwolić serwerowi zaktualizować interfejs użytkownika mojej aplikacji?

Jeśli potrzebujesz tutaj większej przejrzystości, daj mi znać.

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że musisz użyć WebSockets. Interfejs użytkownika nie wie nic o serwerze, chyba że zostanie o tym powiadomiony. Jedynym innym sposobem na uruchomienie go bez WebSockets jest długie żądanie odpytywania AJAX, ale to rozwiązanie działałoby w ograniczonych przypadkach użycia.

Dodanie serwera Socket.io do serwera węzłów jest dość trywialne, spróbowałbym.


0 dla odpowiedzi nr 2

Użyj socket.io, można go dodać do każdego serwera Node.js. Na przykład:

var app = require("http").createServer(handler)
, io = require("socket.io").listen(app)
, fs = require("fs");

app.listen( 80 );

function handler (req, res) {
fs.readFile(__dirname + "/index.html",
function (err, data) {
if (err) {
res.writeHead(500);
return res.end("Error loading index.html");
}

res.writeHead(200, {"Content-Type": "text/html"});
res.end(data);
});
}

io.set("log level", 1);

io.sockets.on("connection", function (socket) {
socket.emit("news", { hello: "world" });
socket.on("my other event", function (data) {
console.log(data);
});
});

Możesz użyć dowolnego zdarzenia gniazda tutaj.