Configuration des routes Express 4.0 avec socket.io
J'ai créé une nouvelle demande Expresse. Il a généré app.js pour moi, et j'ai ensuite créé le suivant: index.js apportant le support.io:
var app = require('./app');
server=app.listen(3000);
var io = require('socket.io');
var socket = io.listen(server, { log: false });
socket.on('connection', function (client){
console.log('socket connected!');
});
Quelqu'un peut conseiller comment je pourrais accéder à douille.io dans les itinéraires des fichiers?
De référence, la valeur par défaut généré app.js est ci-dessous:
var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();
//view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
///catch 404 and forwarding to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
///error handlers
//development error handler
//will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
//production error handler
//no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
source d'informationauteur Ben
Vous devez vous connecter pour publier un commentaire.
Cela dit, vous pourriez vouloir utiliser express-io au lieu que ce spécialement conçu pour cela ou si vous êtes à la construction d'une realtime web app, puis essayez d'utiliser sailsjs qui a déjà socketIO intégré.
Ce faire, vos principales
app.js
Puis sur les routes de faire quelque chose comme:
Voir le express-io de la documentation ici.
Ou vous pouvez le faire si vous voulez vraiment rester avec express + socketio
Sur votre
app.js
Puis créer un fichier
sockets.js
Vous pouvez ensuite appeler à votre itinéraires et les contrôleurs.