Socket.io错误:听EADDRINUSE

时间:2014-01-21 21:16:44

标签: node.js webserver socket.io

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

enter image description here

POST UPDATE

聊天课程

/**
 * 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);

那么,我做得不好?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您有对象实例问题。删除var self = this;

替换;

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

要:

this.sock = io.listen(this.server);
相关问题