新的节点,所以我的道歉。 我的工作我的应用程序,我想用socket.io发送位置。 我发现1000个例,但都是指当快递没有的路线,而这一切是在app.js. 所有的例子参见聊天应用程序。 我能够运行一个例子拼凑几个问题我一起搜索,但我不明白如何获取我终于工作在我的app.js与我index.js互动IO这样我就可以多EMIT使用参数。 express.io已经过时了,我找不到任何电流。 在斌/ WWW
/**
* Socket.io
*/
var io = app.io
io.attach( server );
我app.js
var socket_io = require('socket.io');
var app = express();
var io = socket_io();
app.io = io;
所以,我可以使用:
io.on('connection', function (socket) {
console.log('IO Ready');
});
我不知道如何使用的插座,我index.js(路由),我不能模块化它。
提前致谢。
我不得不说,我觉得默认生成的项目是坏的socket.io设置。 节点http.Server VAR是一路bin/www
,而不是在app.js
。
所以,第一件事就是从所有相关的东西移动bin/www
到app.js
。 主要是你只需要
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
就像在socket.io文档 。
现在,随着io
在app.js
,我们可以使用所需的路由时。 我忘了究竟是如何的缺省路由设置,但我认为他们成立了一个app
,只是将其导出。 相反,你可以设置类似
module.exports = function(app, io) {
io.on('connection', function(socket) {
console.log('connected!');
}
app.get('/foo', function() {
...
}
}
现在,当你需要的而不是默认的路由,
var index = require('./routes/index');
app.use(index);
或协议的东西,你可以这样做
require('./routes/index')(app, io);
这就是你如何让io
到您的路线。 或者至少,我怎么做吧。