我在阿里云上尝试websocket和dwr来实现服务端推送消息到前端页面;ws协议的推送暂未成功;dwr的推送延时高,原因还在定位中;现在这么推送消息场景应该很常见了,阿里自己怎么做的,什么技术方式实现的,效果如何?谢谢
网页端推送消息主流的几种方式有:websocket,ajax长连接,ajax短连接,iframe方式
最简单的方式是ajax短链接,每隔几秒轮训下服务器,前期在用户量不大的情况下是没问题的,当然在移动端有点耗流量。
ajax长连接虽然解决频繁发送请求问题,但是比较消耗服务器资源,会导致服务资源长期占用无法释放,在用户量大的时候会给服务器带来很大压力。
websocket方式,比较节省资源,方便快捷,对浏览器支持有一定要求,并且需要注意websocket安全问题,最好在建立连接同时检查下origin是否是当前服务器地址防止服务器遭受攻击或数据泄漏等问题。
综上所述,websocket是主流方式,ajax轮训是最简单方式,没有最佳方案只有符合当前应用场景就是最好的。
通过Socket建立心跳通道。可以参考: https://blog.csdn.net/qq_40081976/article/details/80228080
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。