0
我無法訂閱與服務器的套接字連接內的主題。AngularJS發佈/訂閱者套接字連接
app.factory('socket', [function() {
var stack = [];
var onmessageDefer;
var socket = {
ws: new WebSocket('wss://site.com:61015/'),
send: function(data) {
data = JSON.stringify(data);
if (socket.ws.readyState == 1) {
socket.ws.send(data);
} else {
stack.push(data);
}
},
onmessage: function(callback) {
if (socket.ws.readyState == 1) {
socket.ws.onmessage = callback;
} else {
onmessageDefer = callback;
}
}
};
socket.ws.onopen = function(event) {
for (i in stack) {
socket.ws.send(stack[i]);
}
stack = [];
if (onmessageDefer) {
socket.ws.onmessage = onmessageDefer;
onmessageDefer = null;
}
};
return socket;
}]);
我如何能實現對服務器的話題發佈/訂閱,我怎麼能在控制器獲取套接字的消息?
謝謝你,我試過你的例子,但我無法實現訂閱的主題。請幫助。當我應該把消息的訂閱主題名稱? – trigger
因爲WebSockets沒有實現任何訂閱系統,它們只是一個通信渠道。如果你想擁有主題並訂閱它們,你必須建立一個消息框架。如果你不知道怎麼做,你可能會對SignalR感興趣。 – vtortola