Node.js Socket.io错误:侦听EADDRINUSE

Node.js Socket.io错误:侦听EADDRINUSE,node.js,webserver,socket.io,Node.js,Webserver,Socket.io,我有个小问题。我想运行Web服务器并允许它使用socket.io与服务器通信,但我得到: 更新后 聊天类: /** * Chat Class */ // module dependencies var io = require('socket.io'); // self instance var self = this; /** * Constructor * * @param {server} * @param {userlist} */ var Chat = func

我有个小问题。我想运行Web服务器并允许它使用socket.io与服务器通信,但我得到:

更新后

聊天类:

/**
 * Chat Class
 */

// module dependencies
var io = require('socket.io'); 
// self instance
var self = this;

/**
 * Constructor 
 *
 * @param {server}
 * @param {userlist}
 */
var Chat = function(server) {
    this.server = server;
};

// Init
Chat.prototype.init = function() {
    // socket instance
    self.sock = io.listen(self.server);
};

module.exports = Chat;
// socket http server
var server = http.createServer(app).listen(app.get('port'), function(){
    // chat server init
    console.log('Listening on port ' + app.get('port'));
});

// chat
var chat = new Chat(server, userlist);
chat.init();
// socket http server
var server = http.createServer(app).listen(app.get('port'), function(){
    // chat server init
    console.log('Listening on port ' + app.get('port'));
});

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

io.listen(self.server);
Main:

/**
 * Chat Class
 */

// module dependencies
var io = require('socket.io'); 
// self instance
var self = this;

/**
 * Constructor 
 *
 * @param {server}
 * @param {userlist}
 */
var Chat = function(server) {
    this.server = server;
};

// Init
Chat.prototype.init = function() {
    // socket instance
    self.sock = io.listen(self.server);
};

module.exports = Chat;
// socket http server
var server = http.createServer(app).listen(app.get('port'), function(){
    // chat server init
    console.log('Listening on port ' + app.get('port'));
});

// chat
var chat = new Chat(server, userlist);
chat.init();
// socket http server
var server = http.createServer(app).listen(app.get('port'), function(){
    // chat server init
    console.log('Listening on port ' + app.get('port'));
});

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

io.listen(self.server);
但是如果我尝试不使用聊天类封装,它会起作用:

/**
 * Chat Class
 */

// module dependencies
var io = require('socket.io'); 
// self instance
var self = this;

/**
 * Constructor 
 *
 * @param {server}
 * @param {userlist}
 */
var Chat = function(server) {
    this.server = server;
};

// Init
Chat.prototype.init = function() {
    // socket instance
    self.sock = io.listen(self.server);
};

module.exports = Chat;
// socket http server
var server = http.createServer(app).listen(app.get('port'), function(){
    // chat server init
    console.log('Listening on port ' + app.get('port'));
});

// chat
var chat = new Chat(server, userlist);
chat.init();
// socket http server
var server = http.createServer(app).listen(app.get('port'), function(){
    // chat server init
    console.log('Listening on port ' + app.get('port'));
});

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

io.listen(self.server);
那么,我做了什么坏事


提前感谢。

您遇到了对象实例问题。删除
var self=this

替换

self.sock = io.listen(self.server);
致:


这是一个副本,可能已经在tcp/3000上运行了。@Admdew,谢谢你的回复,但我已经在看那些帖子了,这不是我的情况。你是200%肯定吗?
netstat
告诉了你什么?我是肯定的20000%,因为我尝试了其他端口,结果也是一样的。哈哈,好的,是的,这是非常肯定的。可能是吗?我想知道您的
var server=http.createServer…
var chat=newchat(服务器,用户列表)线路试图在同一端口上创建两台服务器。如果您注释掉
var chat…
chat.init()
,错误是否会消失,您是否可以验证您选择的端口上是否已侦听某些内容?