-wss里面获取其他用户的聊天信息,并且渲染到页面上面,假如现在有10个人在同一个长连接中,一个人一秒钟说一句话,对应的同一个连接里的客户端用户基本上就是每100ms接收到一次推送,前端使用setData渲染推送消息到页面(我看到文档说不能毫秒级别调用setData),这种需求下面如何保证性能问题,现在人数一增加手机就会卡死以及发烫。


- 需要指点迷津,给一个合适的解决办法


展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 荼蘼

    11人对此回答表示赞同

    将新消息放到一个[]里,然后每隔2秒检查[]是否为空,不为空,就将里面的东西setData到界面上,然后将[]置空。注意消息顺序

    展开
    11
    3回复
    发布于 6年前

    评论(3)

    收起评论

    • 马克Mak 2019-01-12 16:47

      非常感谢,使用你说的方法确实优化了不少赞

      回复
    • Elijah 2019-01-14 08:52

      在setData前,放个标志位,是否在赋值,设为true。新消息来了,如果在赋值,将新消息放队列里,否则直接setData。在setData的回调里,判断队列是否为空,为空则把是否在赋值的标志位置为false,不为空,就接着新一轮赋值

      回复
    • Tom 2019-01-16 13:55

      谢谢,这个方法牺牲了即时性,保证了性能,这样子用户的消息都会有延迟了对于一个即时聊天来说就不太符合要求了

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部