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