[]websocket,客户端与服务器不停地收发信息,请问:客户端接收到的数据缓存怎么清理?

websocket,客户端与服务器不停地收发信息,发现问题:客户端第二次解析的数据包含了第一次和第二次的数据,第三次解析的数据包含了第一次、第二次、第三次的数据,。。。后面的都包含以前的所有数据,就是说前面的数据解析了之后依然在缓存里,没有清除掉。请问,这个问题怎么解决?
已邀请:

153*****476

赞同来自:

更正:经调试,发现:不是缓存的问题,而是多次执行。同一个页面中,第一次接收到websocket消息,执行一次receivehandle()函数,第二次接收到消息,执行两次receivehandle()函数,处理的是第二次接收到的消息,第三次执行三次,处理的是第三次接收到的消息。。。以此类推。。。为什么?有人遇到过吗?

153*****476

赞同来自:

我觉得跟laya框架有关系,应该是我哪里用的不对。这个websocket的receivehandle()写在多个场景里,比如一个login,一个startgame,一个game,测试发现:login时,只有login里的receivehandle()会执行,startgame里则会执行login和startgame里的receivehandle(),game里则3个receivehandle()都会执行。感觉一个场景对应的js代码执行过了就有一个副本被保存起来,后面都会被触发,但这个场景我已经remove掉了。感觉这是同一个问题引起的。

153*****476

赞同来自:

上面2个回复描述的是2个问题,比较相似,我觉得有关联。

小姑娘

赞同来自:

你好,请问你找到原因了吗,解决了吗,我现在感觉也是这个问题,一次会接收很多条websocket推送的消息,然后我页面的数据就会缓存之前的

Laya_XS

赞同来自:

如果你不想缓存websocket的数据,你可以在创建了websocket的实例后,设置实例.disableInput 为false。如果你不是通过官方提供的websocket类而创建的websocket实例,你需要自己处理。

一天

赞同来自:

咋解决啊,大家。我也是这个问题。

要回复问题请先

商务合作
商务合作