문제

My code is written on TCP Node JS and its working fine except some multithreading. The other socket is not connected to the server during the first socket transaction for E.g

Code:-

// 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 Your response in this regard it will be highly appreciated

도움이 되었습니까?

해결책

Javascript code is executed in a single thread in node.js. Your newConnection function blocks this thread (Math.random() may return 0, but probability is very low).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top