0

我正在拼命尝试让 node.js 在 Ubuntu 12.04 LTS 上再次运行。

我在 2-3 周前安装了它,一切都很顺利,在那段时间里我每天都在使用它。

但是今天,突然它就不再起作用了。它的错误方式真的很奇怪:

  • node -v工作并返回 v0.8.2
  • node命令也有效,我可以访问控制台并执行console.log
  • 但是当我将 node 与这样的文件一起使用时node server.js,Ubuntu 只是换了一个新行:

kollektiv@kollektiv-PC:~/node-projects$ node server.js

kollektiv@kollektiv-PC:~/node-projects$

今天晚上我已经重新安装了 Ubuntu,但我得到了相同的结果。

我还做了多个apt-get upgradeapt-get update以防某些 node.js 依赖项会过时。

我安装 node.js 的方式是按照本教程编译源代码: --> Compiling Node.js from source on Ubuntu 10.24 - shapeshed

为了确定,我什chmod 777 server.js至在服务器文件上做了一个,但这也没有改变任何东西。

非常感谢您的帮助!

编辑: server.js 的内容

var net = require('net'),
    server = net.createServer();
var crypto = require('crypto'),
    shasum = crypto.createHash('sha256');

var alpha = [],
    i = 0,
    cle = '';
while(i < 256) {
    alpha.push(String.fromCharCode(i));
    i++;
}

// CRYPTAGE -- START --

function cryptProcess(cle, txt) {
    var k = txt.length,
        j = k / cle.length,
        cledeBase = cle,
        txtc = '',
        i = 1;
    while(i < j) {
        cle = cle + cledeBase;
        i++;
    }
    function crypt(cleu, letr) {
        //if(alpha.indexOf(letr) == -1) return "§";
        var biIndex = alpha.indexOf(letr) + alpha.indexOf(cleu), x;
            sumIndex = biIndex - alpha.length;
        x = sumIndex >= 0 ? alpha[sumIndex] : alpha[biIndex];
        return x;
    }
    while(k--) {
        txtc = crypt(cle[k], txt[k]) + txtc;
    }
    return txtc;
}

function decryptProcess(cle, txtc) {
    var k = txtc.length,
        j = k / cle.length,
        cledeBase = cle,
        txt = '',
        i = 1;
    while(i < j) {
        cle = cle + cledeBase;
        i++;
    }
    txt = '';
    function decrypt(cleu, letc) {
        //if(alpha.indexOf(letc) == -1) return "§";
        var biIndex = letc - alpha.indexOf(cleu), x;
        x = biIndex >= 0 ? alpha[biIndex] : alpha[biIndex + alphabet.length];
        return x;
    }
    while(k--) {
        txt = decrypt(cle[k], txtc[k]) + txt;
    }
    return txt;
}

// CRYPTAGE -- END --


server.on('connection', function(client) {

    var connecOne = 0;

    function talk(data) {
        var msg = data.toString('utf8');
        var msgEnc = cryptProcess(cle, msg);

        client.write(msgEnc);
        console.log(msg + '\nsend as\n' + msgEnc);
    }

    client.once('data', function(data) {

        function triHandShake() {

        }

    });

    client.on('data', function(data) {

        var msg = data.toString('utf8');
        if(connecOne === 0) {
            connectionOne(msg);
            connecOne++;
        }
        else if(connecOne === 1) {
            // Check for paragraph symbol
            //authentification with cookie as cle
        }

        var msgDec = decryptProcess(cle, msg);
        console.log(msgDec + '\nreiceved as\n' + msgDec);

    });

    client.on('end', function() {
        connecOne = 0;
    });
});
4

1 回答 1

2

您需要调用server.listen来监听连接并按预期启动进程。

server.listen(8124, function() { //'listening' listener
  console.log('server bound');
});
于 2012-07-17T20:37:14.140 回答