访问API时,NodeJS无法发出消息

时间:2013-10-29 19:43:10

标签: javascript node.js express callback socket.io

我正在使用NodeJS和Express和SocketIO。我试图在'连接'回调中注册一个客户端,然后当访问api / socket / test URL时,我想向该客户端发送一条消息。它适用于我的localhost但是当我在服务器上运行它时,我得到一个500 TypeError:无法调用未定义错误的方法'emit'。我想问题是在动作的同步中,但我不知道如何重新编写代码以使其工作。这里是我的server.js的重要部分:

var connected_sockets = new Array();
app.get('/api/socket/test', function(req, res){
connected_sockets[0].emit('news', {hello: 'word'});
  res.json({"status" : "green", "socket" : connected_sockets[0].id});
});

// redirect all others to the index (HTML5 history)
app.get('*', routes.index);

/**
 * Start Server
 */

var server = http.createServer(app);
var sio = io.listen(server);

sio.sockets.on('connection', function(socket){
  connected_sockets.push(socket);
});

server.listen(app.get('port'), process.env.OPENSHIFT_NODEJS_IP);

0 个答案:

没有答案