我有一个小问题。我想运行一个Web服务器并允许它使用socket.io与服务器通信,但我得到:
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);
那么,我做得不好?
提前致谢。
答案 0 :(得分:1)
您有对象实例问题。删除var self = this;
替换;
self.sock = io.listen(self.server);
要:
this.sock = io.listen(this.server);