基于go-gin框架的web服务框架之websocket(二)
PHP实现websocket采用GatewayWorker,经过商业论证还是很稳定的。
目前websocket技术已经很成熟,选型Go语言,当然是为了节省成本以及它强大的高并发性能。我使用的是第三方开源的websocket库即gorilla/websocket。
Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json。
rtsp流浏览器播放方案
1、类如:Appemit(调用vlc插件播放rtsp),可以免安装的,目前只能windows,免费版会有提示。猿大师中间件(底层调用VLC的ActiveX控件,实现在主流浏览器网页中内嵌播放多路RTSP的实时视频流),中间件收费的。PluginOK(牛插)中间件。
2、rtmp的视频流使用video-js插件即可直接播放。rtsp的视频流无法直接在浏览器端播放,http的视频流工作中需要播放格式为mjpeg的视频流,所以,也无法直接播放。
3、channel: camera_1,url: data:image/png;base64,iV} 前端接收到数据后,解码,使用img 标签展示 图片base64 客户端的传输方式改为 ArrayBuffer方式。将channel、图片文件流等信息拼接为二进制数据。
gin建立websocket服务
1、另外需要建立websocket的请求,对于gin我们需要将普通的请求升级为websocket协议 然后定义路由 r.GET(/ws, WsPage) .利用协程的方式来在项目启动时调用Start()就可以建立起websocket的服务端。
2、通过FFMPEG把rstp转成http,ginrtsp作为转发服务器,但需要自己写相应接口,需要了解go语言。
3、其中c.String是gin.Context下提供的方法,用来返回字符串。其中c.Json是gin.Context下提供的方法,用来返回Json。下面我们使用以下gin提供的Group函数,方便的为不同的API进行分类。
4、Engine 是 gin 框架的一个实例,它包含了多路复用器、中间件和配置中心。
5、使用Gin,您可以将处理程序与 HTTP 方法和路径组合相关联。这样,您可以根据客户端使用的方法将发送到单个路径的请求单独路由。 a.如果服务器从上一节开始仍在运行,请停止它。 b.从包含 main.go 的目录中的命令行,运行代码。
大家觉得用Go做WEB有必要用框架吗
1、第一个:Beego框架 Beego框架是astaxie的GOWeb开发的开源框架。Beego框架最大的特点是由八个大的基础模块组成,八大基础模块的特点是可以根据自己的需要进行引入,模块相互独立,模块之间耦合性低。
2、这个是肯定的,Web框架也可以理解为B/S(Brouser/Server)框架,是一种基于浏览器载体的框架,包含前端、后端和数据库三个大的方向,各个方向的工具技术都不一样。
3、可以先直接使用go自带的http server 框架,这个框架涵盖了绝大多数的功能,比如request response 的基本封装,简单的路由管理,文件上传处理。