TSINGSEE青犀视频开发的国标GB28181协议视频智能分析平台EasyGBS已经兼容了"采集-存储-展示-告警"这四大模块的内容处理,能够为大数据平台的搭建提供视频能力的支持。目前EasyGBS正在积极进行内核的改版,力求做到更加稳定、更加高质量。
在我们部署的某个EasyGBS项目中,前端摄像头设备上下线消息通过websocket实时发送给客户端,而目前后端服务只保存最后一次websocket连接,所以只发送消息给最后一个登录用户。如下图:
但在项目中这样的方式不能保证消息的实时性,现在需求就是将设备上下线消息实时发送给所有登录的用户。
我们需要将所有用户登录的websocket连接保存到map中,当收到上下线消息时,遍历map给每一个websocket连接发送消息通知。
新建保存websocket连接的结构体,并加上读写锁,避免并发问题:
遍历map并发送消息通知:
完成后效果如图: