全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

WebSocket怎么实现数据库表增加一条数据然后主动推送给客户端?

发布时间:2023-10-13 09:40:37
发布人:xqq

一、WebSocket怎么实现数据库表增加一条数据然后主动推送给客户端

websocket是一个全双工通信协议,所以只要客户端和服务端实现了相关逻辑就好了。

现在大部分浏览器都支持websocket协议,写起来也很简单,用一些现成的js库也可以。

服务器端写起来也不算麻烦。

检测到数据库变更就推送一条消息即可。

另一个问题是如何检测到mysql数据库的变更。

我觉得大概有这样几种思路:

代码实现,有修改数据库操作的地方,增加一些推送消息的逻辑;加入拦截器,进行切面处理,避免第1种到处加入代码;使用中间件,如canal,实时监听数据库的修改。

延伸阅读:

二、数据实时推送的实现方式和应用场景

1.轮询:

客户端通过代码定时向服务器发送AJAX请求,服务器接收请求并返回响应信息。

优点:代码相对简单,适用于小型应用。

缺点:在服务器数据没有更新时,会造成请求重复数据,请求无用,浪费带宽和服务器资源。

2.长连接:

在页面中嵌入一个隐藏的iframe,将这个隐藏的iframe的属性设置为一个长连接的请求或者xrh请求,服务器通过这种方式往客户端输入数据。

优点:数据实时刷新,请求不会浪费,管理较简洁。

缺点:长时间维护保持一个长连接会增加服务器开销。

3.webSocket

websocket是HTML5开始提供的一种客户端与服务器之间进行通讯的网络技术,通过这种方式可以实现客户端和服务器的长连接,双向实时通讯。

优点:减少资源消耗;实时推送不用等待客户端的请求;减少通信量;

缺点:少部分浏览器不支持,不同浏览器支持的程度和方式都不同。 

应用场景:聊天室、智慧大屏、消息提醒、股票k线图监控等。

#it技术干货

相关文章

MyBatis的缓存机制是怎么样的?

MyBatis的缓存机制是怎么样的?

2023-10-13
Mycat分表分库的原理是什么?

Mycat分表分库的原理是什么?

2023-10-13
Access数据库怎样免费下载?

Access数据库怎样免费下载?

2023-10-13
502 Bad Gateway怎么解决?

502 Bad Gateway怎么解决?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取