0

現在、Herokuで実行されるチャットアプリケーションを作成しています。このタスクにはNode.JSとSocket.IOを使用しています。ローカルで実行すると完全に機能しますが、herokuにデプロイすると、次のエラーが発生します。

app[web.1]: /app/node_modules/socket.io/lib/manager.js:724
app[web.1]:   rand.writeInt32BE(this.sequenceNumber, 11);
app[web.1]:        ^
app[web.1]: TypeError: Object 

これがコードのSocket.IO部分です(残りは単なる古典的なExpressコードです):

var socket = require('socket.io');
var io = socket.listen(app);

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

var usernames = {}

io.sockets.on('connection', function (socket) {
    socket.on('adduser', function(username) {
      socket.username = username;
      usernames[username] = username;
      socket.join('room');
      socket.emit('action', username, 'connected');
      socket.broadcast.to('room').emit('action', username, 'connected');
    });
    socket.on('message', function(message) {
      socket.emit('message', socket.username, message);
      socket.broadcast.to('room').emit('message', socket.username, message);
    });
});

誰かがこのバグを解決する方法について何か考えを持っていますか?

4

1 に答える 1

1

package.jsonで指定された正しいバージョンのノードnpmを使用していることを確認してください

"engines": {
    "node": "0.8.x"
    ,"npm": "1.1.x"
}
于 2012-07-28T20:04:37.957 に答える