0

私は必死に Ubuntu 12.04 LTS で node.js を再び動作させようとしています。

2〜3週間前にインストールしましたが、すべて問題なく動作し、その間毎日使用していました。

しかし、今日、突然それが機能しなくなりました。それがバグる方法は本当に奇妙です:

  • node -v動作し、v0.8.2 を返します
  • コマンドも機能しnodeます。コンソールにアクセスして、console.log
  • しかし、このようなファイルでノードを使用するとnode server.js、Ubuntuは新しい行に移動します:

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

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

今晩すでにUbuntuを再インストールしましたが、同じ結果が得られます。

また、いくつかの node.js 依存関係が古くなっている場合に備えて、複数のことapt-get upgradeを行いました。apt-get update

私が node.js をインストールした方法は、このチュートリアルに従ってソースをコンパイルすることです: --> Ubuntu 10.24 でソースから Node.js をコンパイルする - 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 に答える