TCP NODE JS多线程问题

时间:2014-05-14 09:26:42

标签: javascript multithreading node.js tcp transactions

我的代码是在TCP Node JS上编写的,除了一些多线程外,它的工作正常。在E.g的第一次套接字事务期间,另一个套接字未连接到服务器

  

代码: -

// Start a TCP Server
var clientServer = net.createServer(function (socket) {

  socket.setEncoding('UTF-8');
  socket.on('data',function(data) {

        if(tryParseJSON(data) === false){

            if(data.length != 0){
                transferDataRequest.call({},data,socket);
            }else{

                response = JSON.stringify({Message:'Invalid JSON Object',Response:'Error',result:data});
                response = response+addition_response;
                socket.write(response);
            }

        }else{

            var output = JSON.parse(data);
            for(var i in output){
                switch(i){
                    case "newConnection":
                        newConnection.call({},output[i],socket);
                    break;
                }   
            }
        }
  });




}).listen(3000,"10.1.28.61");
// Put a friendly message on the terminal of the server.
console.log("Sever listing at 3000 port\n");



newConnection = function(data,socket){

    var i = 0;
    do {
        i++;
        console.log(1);
    }
    while (i = Math.random());
}

enter image description here 您在这方面的回应将受到高度赞赏

1 个答案:

答案 0 :(得分:1)

Javascript代码在node.js中的单个线程中执行。你的newConnection函数会阻塞这个帖子(Math.random()可能会返回0,但概率非常低。)