ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

EasyCVR前端关闭播放器,后端websocket播放链接依然存在是什么原因?

2022-06-10 18:10:19  阅读:146  来源: 互联网

标签:播放器 websocket err fmt EasyCVR 关闭 链接


EasyCVR平台可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海康SDK、大华SDK等,能对外分发RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式的视频流,能实现全平台、全终端的覆盖。

 

 

有用户反馈,EasyCVR平台前端关闭播放器之后,但是后端播放websocket的链接依然存在,请求我们排查协助。今天分享一下排查过程与解决办法。

排查时发现,上述现象出现的原因是前端关闭之后,后端没有监听到关闭消息,导致链接没有正常关闭,还占用着播放链接。

 

 

添加如下代码,在开启websocket代理链接时,开启读取消息的进程,如果从中读取到前端关闭的消息,那么就将和前端建立的websocket链接关闭。

 

 

go func() {
				aa, bb, err := ws.ReadMessage()
				if aa == -1 {
					fmt.Println(bb, err)
				}
				ws.Close()
			}()
 
			for {
				line, err := reader.ReadBytes(' ')
				//_, err := io.ReadFull(reader, buf) // 将 s 中的数据读取到 buf 中
				//fmt.Printf("%s\n", buf)            // HELLO WORLD!
				//fmt.Println(n, err)                // 12 <nil>
				if err != nil {
					fmt.Printf("err:--%v", err)
					return
				}
 
 

  

优化后,再次播放,已经能够正常播放,也没有多余的链接占用。

 

 

EasyCVR云服务平台的直播观看几乎能够覆盖所有终端,满足多行业多场景的安防监控需求。此外平台也在积极研发视频人工智能检测与分析功能,包括人脸检测、人脸识别、人流量统计、车辆检测、车牌识别、烟火检测、安全帽检测、行为识别等。感兴趣的用户可以前往演示平台进行体验或部署测试。

 

   

标签:播放器,websocket,err,fmt,EasyCVR,关闭,链接
来源: https://www.cnblogs.com/easycvr/p/16364087.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有