怎么处理微信小程序websocket 多线程并发的问题?

怎么处理微信小程序websocket 多线程并发的问题?

问:

怎么处理websocket多线程并发的问题?

微信小程序websocket做了一个聊天室,现在的问题是,如果聊天室人多的话,聊天框就会出现卡顿,闪屏的问题。

假如100个人同时发言,我应该怎么处理?

解答:

是不是setData太频繁了导致的, 聊天相当于是毫秒级的发送 。

参考方法:加个限制条件,比如1s内的所有聊天数据一起setData渲染,还有就是存放聊天数据的长度问题,只渲染可视范围内的。

比如同时100个人发言,那么就将100条数据存下来而不是直接setData渲染100次,然后只渲染列表可视范围,比如最新20条的发言,那么就是setData100条数据里最后或者最前的20条数据。

如果要考虑实时同步跟性能优化,需要自己根据具体业务场景来设置。数据节流避免过高的性能开销并且延迟在毫秒内问题也不大。

原文地址:
https://developers.weixin.qq.com/community/develop/doc/0004e69a23cbd04a0b79835755a400

Comments are closed.