gpt4 book ai didi

node.js - Socket.io错误: listen EADDRINUSE

转载 作者:太空宇宙 更新时间:2023-11-03 22:17:30 25 4
gpt4 key购买 nike

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

enter image description here

发布更新

聊天类:

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

致:

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

关于node.js - Socket.io错误: listen EADDRINUSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21269264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com