2013-03-02 71 views
0

我之前设置了我的应用程序,以便它工作。我最近改变了一些事情的顺序,现在它已经坏了。我希望有人知道用socket.io(在heroku上)设置节点/快速应用程序的最佳方式。我想我错过了一些东西,因为我似乎无法让它工作。我的node.js + express + socket.io应用程序有什么问题?

这是我目前的app.js打破:

var express = require('express'), 
    app = express.createServer(express.logger()), 
    io = require('socket.io'), 
    routes = require('./routes'), 
    chatroom = require('./routes/chatroom'), 
    http = require('http'), 
    path = require('path'); 

io.configure(function() { 
    io.set("transports", ["xhr-polling"]); 
    io.set("polling duration", 10); 
}); 

var socket = io.listen(app); 

app.configure(function(){ 
    app.set('port', process.env.PORT || 3000); 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(path.join(__dirname, 'public'))); 
}); 

app.get('/', routes.index); 
app.get('/room/:chatroom', chatroom.create_room); 
app.get('/privateroom/:chatroom', chatroom.create_private_room); 

var port = process.env.PORT || 3000; 
app.listen(port); 
+0

如何为你的应用打破? – friism 2013-03-02 17:58:42

回答

1

这就是我有

/** 
* Module dependencies. 
*/ 

var express = require('express') 
    , http = require('http') 
    , path = require('path') 
    , io = require('socket.io'); 

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

var db = require('./server/db'); 

/** 
* Config. 
*/ 

    app.configure(function() { 
     app.set('port', process.env.PORT || 3000); 
     app.set('views', __dirname + '/public/views'); 
     app.set('view engine', 'ejs'); 
     app.use(express.favicon(__dirname + '/public/images/favicon.ico')); 
     app.use(express.logger('dev')); 
     app.use(express.bodyParser()); 
     app.use(express.methodOverride()); 
     app.use(express.cookieParser('any-text')); 
     app.use(express.session({ 
     secret: 'any-text' 
     })); 
     app.use(app.router); 
     app.use(express.static(path.join(__dirname, 'public'))); 
    }); 

    app.configure('development', function() { 
     app.use(function(req, res, next){ 
     res.send(404, 'Sorry, page not found!'); 
     }); 
     app.use(express.errorHandler()); 
    }); 

/** 
* App. 
*/ 

    require('./server/routes')(app, db); 

    server.listen(app.get('port'), function() { 
     console.log("Server listening on port " + app.get('port')); 
    }); 

    require('./server/sockets')(io, db); 

相关链接 https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x http://socket.io/#how-to-use

+0

谢谢 - 昨晚我得到了我的工作,但这正是我需要/将要使用的参考。 – 2013-03-03 08:19:34

相关问题