【发布时间】:2015-12-18 11:13:02
【问题描述】:
我有两个独立的应用程序(前端和后端)。后端在 NodeJS 中使用 express 框架,前端在 AngularJS 中。是否可以使用 socket.io 将消息从服务器(NodeJS)发送到客户端(AngularJS)?我怎么能这样做?我已尝试使用以下代码,但无法正常工作:
服务器代码
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
io.sockets.on('connection', function(socket) {
//This message is not showing
console.log("socket");
socket.volatile.emit('notification', {message: 'push message'});
});
客户端代码
angular.module('pysFormWebApp')
.factory('mySocket', function (socketFactory) {
var mySocket = socketFactory({
prefix: 'foo~',
ioSocket: io.connect('http://localhost:3000/')
});
mySocket.forward('error');
return mySocket;
});
angular.module('formModule')
.controller('typingCtrl', ['$scope', 'mySocket', typingCtrl]);
function typingCtrl ($scope, mySocket) {
mySocket.forward('someEvent', $scope);
$scope.$on('socket:someEvent', function (ev, data) {
$scope.theData = data;
console.log(data);
});
感谢帮助
【问题讨论】: