为了账号安全,请及时绑定邮箱和手机立即绑定

Websocket 的本质是把前端的轮询放到后端了?

Websocket 的本质是把前端的轮询放到后端了?

蝴蝶不菲 2019-02-06 22:33:09
本来比较传统的实时查询数据库更新是在前端 ajax 来轮询,websocket 如果来做数据库变动监测还是要在后台实时请求数据库,所以 websocket 出来的意义就是为了节省每次重发 http 请求的带宽吗?(我的需求不是说数据库有变化就通知,而是我主动发起搜索时才开始检测,而且数据库更新并不是由我控制的,其他地方更新数据库我无法得到消息,所以没办法实现数据库更新时触发事件的流程,所以是不是不适合使用websocket?)
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

Websocket是HTML5中的新的协议,基于TCP,全双工的通信,就是允许服务器主动发送信息给客户端。
ajax轮询是模拟一个长连接;虽然也可以实现实时查询的效果,但是ajax轮询走HTTP,每次都要发起HTTP请求,浪费带宽是肯定的;而且,HTTP从前端发起,后端是被动的,所以后端无法主动向前端推送消息.

你的需求是主动发起搜索时才开始监测数据库,如果只是这样,那你就可以ajax轮询,当然也可以直接建立WebSocket连接,定时向后端发送查询指令.

我觉得你应该是理解成了,前后端建立WebSocket连接,在后端写一个实时监控数据库的程序跑起来,一有变化时,主动推送到前端展示; 这是一种功能的实现方式,具体想怎么做,是根据你业务需要来确定的.


查看完整回答
反对 回复 2019-02-15
  • 1 回答
  • 0 关注
  • 656 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号