社区讨论

性感代码在线求调

灌水区参与者 19已保存回复 42

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
42 条
当前快照
1 份
快照标识符
@lo3f4vvg
此快照首次捕获于
2023/10/24 05:37
2 年前
此快照最后确认于
2023/10/24 05:37
2 年前
查看原帖
RT. 表现为:内存不停增长,疑似内存泄漏。
JAVASCRIPT
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}`);
  });

回复

42 条回复,欢迎继续交流。

正在加载回复...