小编ooo*_*ops的帖子

node.js应用程序突然加载100%的CPU并挂起

我在linux虚拟机上运行的node.js上有简单的应用程序.它侦听tcp消息并使用socket.io库将它们发送到客户端.经过一段时间的低CPU使用后,突然开始加载CPU越来越高,直到应用程序挂起.脚本很简单,我无法理解它有什么问题.

var net = require('net');
var io = require('socket.io').listen(socketPort);

net.createServer(function (socket) {
    socket.setEncoding("utf8");
    socket.on('data', function (dataStr) {
        console.log("TCP dataStr " + dataStr);
        var data = JSON.parse(dataStr);
        io.sockets.in(data.room).emit('publish', data);
    });
}).listen(tcpPort);

io.sockets.on('connection', function (socket) {

    socket.on('subscribe', function (room) {
        console.log('subscribe room ' + room);
        if (Array.isArray(room)) {
            var i;
            for (i = 0; i < room.length; i++) {
                console.log('subscribe join room ' + room[i]);
                socket.join(room[i]);
            }
        } else if (typeof room === 'string') {
            console.log('subscribe join room ' + room);
            socket.join(room); …
Run Code Online (Sandbox Code Playgroud)

node.js socket.io

13
推荐指数
1
解决办法
2339
查看次数

标签 统计

node.js ×1

socket.io ×1