weman启动websocket服务器,每次接收消息内存消耗会增大?

wenruns

截图
上面是打印截图,以下贴出主要代码
截图
第二张截图中红色框框注释掉,内存增大的情况消失,但是这个判断调用的两个方法处理逻辑非常简单,实在不知道哪个地方消耗内存。下面贴出pong和binding两个方法的代码截图;

pong方法:

截图

binding方法

截图

710 2 0
2个回答

nitron

https://www.workerman.net/doc/webman/others/memory-leak.html

正常情况,内存不增长就有问题了

另外你ping/pong的参数里已经带了$connection了, 为何还要$request->connection = $connection

  • wenruns 2022-09-09

    不正常啊,如果一直增加内存迟早会溢出啊。
    另外:$request->connection = $connection不加这个会报错。这个是webman内置的Request

  • nitron 2022-09-09

    这文档上说了也跟白说一样,个个都不看

wenruns

没事了,这个只要断开socket连接后会自动清除内存的

  • six 2022-09-09

    注意 self::uidIds ,连接关闭后 self::uidIds 里对应的数据也要删除,不然这个数组里元素越来越多,占用内存会越来越多

年代过于久远,无法发表回答
🔝