现在做项目需要用到websocket
,但是有几点疑惑
- websocket协议本身有没有心跳机制,需不需要自己去定时检测
- 如果有的话,浏览器支持情况怎么样,可以放心使用吗
- 还有关于
onclose
,是不是不论何时何种原因被关闭,onclose
都会100%触发吗
请大佬们指点一下小弟!!!
现在做项目需要用到websocket
,但是有几点疑惑
onclose
,是不是不论何时何种原因被关闭,onclose
都会100%触发吗请大佬们指点一下小弟!!!
1/为保持健康的socket连接,心跳机制是必不可少的
2/支持websocket的应该没有什么兼容问题
3/一定会触发
还有楼上说要自带心跳连接的,我觉得不必要吧,可控性差,导致资源占用过多
另外, 附带一提, websocket 在网络情况较差的时候, 时断时续情况非常严重. 建议你用 socket.js, 用 http 协议替代 ws 协议.
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
1、不维护的话,你服务端到时候就会维护着一堆烂连接,占用资源,所以这里如果是面向外部开放的必须要维护。
2、这个你自己实现就好了 setTimeout ,兼容几乎不用担心,只要支持 websocket 那就没有不支持的。
3、是