首页 > 解决方案 > TypeError:self.webSocketIo.listen 不是函数

问题描述

运行代码后不断出现这个错误。在这里输入代码。第五天我坐在那里,不明白问题是什么。如果有人理解这个主题,请帮助。

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

"use strict";
var config      = require('config');
var chalk       = require('chalk');
var logError    = chalk.red;
var logSuccess  = chalk.green;

function padHexStr(strval, length){
    var byteLength = length;
    if(length === undefined || length === null || length === 0){
        byteLength = 32;
    }
    var pad = "00".repeat(byteLength);
    if(strval.substring(0,2) === "0x"){
        var trunStrVal = strval.substring(2,strval.length);
        return padHexStr(trunStrVal, length);
    }
    else{
        return "0x"+pad.substring(0,pad.length-strval.length)+strval;
    }
}

module.exports = {
    webServer : null,
    webServerPort : 8080,
    webSocketIo : null,
    webSocket: null,

    initWebsocket: function(httpServer, done){
        var self = this;
        self.webSocketIo = require('socket.io');
        self.webSocket = self.webSocketIo.listen(httpServer);
        self.webSocket.on('connection', function(client){
            var clientAddress = client.request.connection.remoteAddress;
            var clientPort = client.request.connection.remotePort;
            console.log('client connected from ' + clientAddress + ':' + clientPort);
        });
        done();
    },
    init : function(expressApp,done){
        var self = this;

        self.webServer   = require("http").createServer(expressApp);
        console.log('activating web server');
        if(config.has('webserver.port')){
            self.webServerPort = config.get('webserver.port');
        }
        require('./webtemplate')(expressApp);
        require('./webstatic')(expressApp);
        self.webServer.listen(self.webServerPort, function(err){
            if(err){
                logError(err);
                return;
            }
            console.log(logSuccess("server listening  on port: "+self.webServerPort));
            self.initWebsocket(self.webServer,done);
        });
    }
};

标签: javascriptnode.jssocket.io

解决方案


推荐阅读