的Javascript支持WebSocket的,所以你不需要額外的客戶端框架使用它。請看看WebSocket based AngularJS application中聲明的$connection service。
基本上可以監聽消息:
$connection.listen(function (msg) { return msg.type == "CreatedTerminalEvent"; },
function (msg) {
addTerminal(msg);
$scope.$$phase || $scope.$apply();
});
聽一次(偉大的請求/響應):
$connection.listenOnce(function (data) {
return data.correlationId && data.correlationId == crrId;
}).then(function (data) {
$rootScope.addAlert({ msg: "Console " + data.terminalType + " created", type: "success" });
});
和發送消息:
$connection.send({
type: "TerminalInputRequest",
input: cmd,
terminalId: $scope.terminalId,
correlationId: $connection.nextCorrelationId()
});
通常情況下,由於WebSocket連接是雙向的,你也可以用它來獲取數據fr請求/響應模型中的服務器。你可以有兩種型號:
儘管如此,您可以同時使用這兩種方法,並使用REST獲取數據,使用WebSocket獲取更新。
在服務器端,您可能需要使用Socket.io或任何服務器端框架才能擁有帶WebSocket支持的後端。
不錯的例子,但要注意$連接不是角度的一部分,以$開頭的服務應該保留給角度api。 – pdem 2016-01-11 10:52:42