性感代码在线求调
  • 板块灌水区
  • 楼主liucang
  • 当前回复42
  • 已保存回复42
  • 发布时间2023/1/4 12:42
  • 上次更新2023/10/24 05:37:22
查看原帖
性感代码在线求调
378849
liucang楼主2023/1/4 12:42

RT. 表现为:内存不停增长,疑似内存泄漏。

const wss = await new Promise((resolve, reject) => {
    const server = Https.createServer({
      cert: cert,
      key: key,
      path: '/ws'
    });
    const wsServer = new WebSocket.WebSocketServer({ server });
    wsServer.on('connection', (ws, req) => {
      console.log("Get Websocket Connection: ", req.connection.remoteAddress)
      if (req.connection.remoteAddress === "::ffff:18.176.178.41") ws.close();
      ws.on('message', (message) => {
        try {
          const msg = JSON.parse(message);
          console.log(msg)
          if (msg.type === 'join_channel' && msg.channel === 'paintboard') {
            ws.send(JSON.stringify({ type: 'result' }));
          }
          else {
            ws.close();
          }
        }
        catch {
          ws.close();
        }
      });
      ws.on('close', function (message) {
        ws.close();
      });
      ws.on('error', function (message) {
        ws.close();
      });
    });
    wsServer.on('listening', () => resolve(wsServer));

    wsServer.on('error', (error) => { reject(error); });



    server.listen(wsport);
  });
  
// ......

const paintQueue = async.queue(async ({
    x, y, color, log,
  }) => {
    board[x][y] = COLORR[color];
    const broadcast = JSON.stringify({
      type: 'paintboard_update',
      x,
      y,
      color,
    });
    wss.clients.forEach((client) => {
      if (client.readyState === WebSocket.OPEN) {
        client.send(broadcast);
      }
    });
    log.info(`WebSocket broadcast: ${broadcast}`);
  });
2023/1/4 12:42
加载中...