相比于Java的HTTPServer开发基本上都是使用Spring或者Springboot框架,总是要配置各种配置类,各种 handle 对象 。Golang的Server开发显得非常简单,就是因为特别简单,或者说没有形成特别统一的规范或者框架,我发现了很多实现方式,HTTP协议基于还是 net/http 和 fasthttp,但是 handle 语法就多种多样了 。
先复习一下: Golang语言HTTP客户端实践 、 Golang fasthttp实践。
在Golang语言方面,实现某个功能的库可能会比较多,有机会还是要多跟同行交流,指不定就发现了更好用的库 。下面我分享我学到的六种Server开发的实现Demo 。
基于 net/http 实现,这是一种比较基础的,对于接口和 handle 映射关系处理并不优雅,不推荐使用 。
第二种也是基于 net/http,这种编写语法可以很好地解决第一种的问题,handle和path有了类似配置的语法 , 可读性提高了很多 。
第三个基于 net/http 和 github.com/labstack/echo , 后者主要提供了 Echo 对象用来处理各类配置包括接口和handle映射,功能很丰富,可读性最佳 。
第四种依然基于 net/http 实现,引入了 github.com/gin-gonic/gin 的路由 , 看起来接口和 handle 映射关系比较明晰了 。
第五种基于 fasthttp 开发,使用都是 fasthttp 提供的API,可读性尚可,handle配置倒是更像Java了 。
第六种依然基于 fasthttp ,用到了 github.com/buaazp/fasthttprouter , 有点奇怪两个居然不在一个GitHub仓库里 。使用语法跟第三种方式有点类似,比较有条理,有利于阅读 。
Go-websocket最近在学习Go语言,利用之前的项目作为案例进行重构 。项目背景:php提供TCP服务,硬件连接服务器需要处理信息,然后将处理的信息在发送客户端,客户端拿到信息展示给用户 。第一种方案客户端对发送信息的接口进行轮询 , 检查硬件是否有信息返回,这样不好太浪费资源;第二种方案采用websocket将信息主动发送给客户端,客户端做后续的展示和处理工作;所以最终采用websocket 。PHP实现websocket采用GatewayWorker,经过商业论证还是很稳定的 。
在用Go语言重构项目的时候,需要用Go重新搭建Websocket,去网上查了一些资料,利用 gorilla/websocket 在嵌套web框架就可以实现websocket,目前采用Go语言的iris Web框架,接下来就说说我是怎么实现的 。
【go语言做客户端 go语言运行平台】关于go语言做客户端和go语言运行平台的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 深圳直播唱歌设备,深圳直播唱歌设备租赁
- 直播运营培训方式,直播运营培训学校
- mysql怎么按时间分组 mysql如何实现分组排序
- 新媒体如何加强师生互动,怎么样进行新媒体时代的师德师风建设
- 纸飞机飞行的游戏,纸飞机游戏paper plane games
- python中sqrt函数的用法,python中print函数的用法
- linux关命令行 linux关闭命令窗口
- sqlserver2012安装条件,sql server2012安装要求
- 现代种什么肥最好视频,适合做种肥