Javascript supporta WebSocket, in modo da non avete bisogno di un quadro lato client aggiuntivo di usarlo. Si prega di dare un'occhiata a questo $connection service dichiarato in questo WebSocket based AngularJS application.
Fondamentalmente si può ascoltare i messaggi:
$connection.listen(function (msg) { return msg.type == "CreatedTerminalEvent"; },
function (msg) {
addTerminal(msg);
$scope.$$phase || $scope.$apply();
});
Ascoltare una volta (ottimo per richiesta/risposta):
$connection.listenOnce(function (data) {
return data.correlationId && data.correlationId == crrId;
}).then(function (data) {
$rootScope.addAlert({ msg: "Console " + data.terminalType + " created", type: "success" });
});
e inviare messaggi:
$connection.send({
type: "TerminalInputRequest",
input: cmd,
terminalId: $scope.terminalId,
correlationId: $connection.nextCorrelationId()
});
Di solito, dal momento che un La connessione WebSocket è bidirezionale e has a good support, è anche possibile utilizzarlo per ottenere i dati da om il server nel modello richiesta/risposta.Si possono avere i due modelli:
Editore/Subscriber: messaggi quando si Quando il cliente dichiara il suo interesse per alcuni argomenti e impostare i gestori per i messaggi con questo argomento, e quindi il server pubblicare (o spinta) vede in forma.
Richiesta/risposta: dove il client invia un messaggio con un ID di richiesta (o un oggetto di correlazione) e ascolta una singola risposta per tale ID di richiesta.
Ancora, è possibile avere entrambi se si desidera, e utilizzare REST per ottenere dati e WebSocket per ottenere aggiornamenti.
Sul lato server, potrebbe essere necessario utilizzare Socket.io o qualsiasi framework lato server per disporre di un back-end con supporto WebSocket.
Bel esempio, ma si noti che $ connection non fa parte di angular, i servizi che iniziano con $ devono essere riservati per api angolari. – pdem