Javascript 应用程序socket.io中的结构和使用
我想为我的应用程序建立一个结构,但不知道如何从子路由器调用socket.io并将其连接到服务器express //app.jsJavascript 应用程序socket.io中的结构和使用,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我想为我的应用程序建立一个结构,但不知道如何从子路由器调用socket.io并将其连接到服务器express //app.js var express = require('express') , http = require('http') , path = require('path'): , i18n = require("i18n"); var app = express(); . . app.use(app.router); require('./routes')(app);
var express = require('express')
, http = require('http')
, path = require('path'):
, i18n = require("i18n");
var app = express();
.
.
app.use(app.router);
require('./routes')(app);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express port " + app.get('port'));
});
//routes.js
module.exports = function (app) {
var rou_admin = require('./routers/admin')
, rou_login = require('./routers/login')
, rou_page = require('./routers/page')
, rou_logou = require('./routers/logout');
function restrict(req, res, next) {
if (req.session.user){
next();
} else {
res.redirect('/login');
}
}
//General
app.get('/', rou_page.page);
//Admin
app.get('/admin', rou_admin.admin);
//xxxx
app.get('/xxxx', rou_admin.xxxx);
//ssss
app.get('/ssss', rou_admin.ssss);
.
.
};
//routes/admin.js
exports.admin = function(req, res){
res.render('index',{title: 'Chat Room'})
var io = require('socket.io').listen(app);
io.sockets.on('connection', function(socket) {
...code...
}
};
function admin(app)
{
admin.start= function(req, res){
res.render('index',{title: 'Chat Room'})
var io = require('socket.io').listen(app);
...code...
};
}
module.exports = admin;
如果你有更好的主意,我怎么做呢。
var io=require('socket.io')。监听(应用程序) 您已经获得了大部分解决方案。只需做一些更改: routes.js
module.exports = function (app) {
var rou_admin = require('./routers/admin')(app), //pass app to routes/admin.js itself
routes/admin.js
exports.admin = function(req, res){
res.render('index',{title: 'Chat Room'})
var io = require('socket.io').listen(app);
io.sockets.on('connection', function(socket) {
...code...
}
};
function admin(app)
{
admin.start= function(req, res){
res.render('index',{title: 'Chat Room'})
var io = require('socket.io').listen(app);
...code...
};
}
module.exports = admin;
这里它只是定义了函数,您可以使用admin.start()来执行代码