简体   繁体   English

尝试创建聊天的Node.JS错误

[英]Node.JS bug trying to create a chat

I'm currently writing a chat application which will run on Heroku. 我目前正在编写一个可在Heroku上运行的聊天应用程序。 I'm using Node.JS and Socket.IO for this task. 我正在为此任务使用Node.JS和Socket.IO。 It works perfectly when I run it locally but when I deploy it to heroku I get this error : 当我在本地运行它时,它运行完美,但是当我将其部署到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 

Here's the Socket.IO part of the code (the rest is just classic Express code) : 这是代码的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);
    });
});

Has anyone got any idea on how to solve this bug ? 有没有人知道如何解决这个错误?

Make sure you are using right version of node and npm specified in package.json 确保您使用的是package.json中指定的nodenpm的正确版本

"engines": {
    "node": "0.8.x"
    ,"npm": "1.1.x"
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM