javascript - TCP NODE JS 多线程问题

标签 javascript multithreading node.js tcp transactions

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

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 我们将高度赞赏您在这方面的回应

最佳答案

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

关于javascript - TCP NODE JS 多线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650614/

相关文章:

javascript - 从 javascript regex.exec 分配多个变量

javascript - jQuery/javascript 没有产生预期的效果?

javascript - 在循环中使用 $.post()

node.js - typescript 无效

javascript - JQuery Mobile 外部页面导航问题

java - Spring - 使用 OpenSessionInViewFilter 为新线程提供 Hibernate session

objective-c - NSInvocationOperation 等价 yield

javascript - 我可以向我的 promise 回调添加一个参数吗?

node.js - 如何使用webpack在客户端更改环境变量,例如 'process.env.NODE_ENV'?

c++ - 无法使用 GCC 编译器 4.7.3 在 AIX 上编译具有线程支持的 C++ 程序