一起使用meteor和socket.io

我是Meteor新手。

我正在开发一个realtime multiplayer game 。 我想实现一切有关游戏,但游戏引擎状态与Meteor 。 例如聊天消息,可用的游戏室,邀请函,在线成员等。我想用Meteor来实现这些function。

但是我想用socket.io手动实现游戏状态。 因为游戏是实时的,每45毫秒(在我的体系结构中),游戏状态将stream向客户端,我认为meteor不是为了这个而不是灵活的。 于是我开发了多人游戏的概念,并将客户端和服务器与socket.io同步。 这是没有问题的。

我想用Meteorsocket.io两者并用。 我试图实现它。 我在我的meteor应用.meteor/local/build/programs/server/app下安装了socket.io ,内部是.meteor/local/build/programs/server/app app。 在那之后,我在server side Meteor startup包括require声明;

 Meteor.startup(function () { var require = Npm.require; var sio = require('socket.io') var socketIO = sio.listen(this.http) socketIO.configure(function () { socketIO.set('log level', 0); socketIO.set('authorization', function (handshakeData, callback) { callback(null, true); // error first callback style }); socketIO.set("transports", ["xhr-polling"]); socketIO.set("polling duration", 30); }); socketIO.sockets.on('connection', function (client) { console.log(client.id + ' is connected') client.on('disconnect', function () { console.log(client.id + ' is diconnected') }); })}) 

我把连接声明放在client side Meteor startup ;

 Meteor.startup(function () { socket = io.connect(); socket.on('connect', function () { console.log('connecting'); }); }) 

在客户端, iovariables未定义错误发生。 在我看来, Meteor不会在客户端导入客户端socket.io.js 。 所以我试图把socket.io.js手动放在客户端文件夹下,在客户端加载。 这不是我知道的好方法,我不应该这样做。 但是,即使我和客户端加载它,关于语句的io传输variables还有另一个客户端错误;

 io.transports.push('xhr-polling'); 

它说Uncaught TypeError: Cannot call method 'push' of undefined 。 不知何故,客户端socket.io.js不能正确加载。

我找不到一个Meteor和socket.io一起使用的例子。 有没有简单的方法来一起使用它们?

谢谢!