基于go-gin框架的web服务框架之websocket(二)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于go-gin框架的web服务框架之websocket(二)相关的知识,希望对你有一定的参考价值。

参考技术A 项目地址: https://github.com/Benny66/ginServer

使用webcocket通信相比于http,它可不像http那样是无状态的请求,http每一次数据的查询、处理都需要重新发起请求,进行三个握手,四次挥手,而websocket只需要进行一次tcp连接,就可以维持长连接不断的进行发送和回复消息的请求,并且支持服务端向客户端的实时消息推送,这一点是http无法做到的。

客户端发送一次请求,服务端保留住这个请求(注册),使用心跳维持互通,这就需要服务端维护一个接口去接受客户端的连接请求

上面是一个客户端连接的入口(接口),需要在router路由中进行配置

客户端的连接地址则可以是: ws://127.0.0.1:8066/ws

开启程序服务器后,后台开启一个协程去监听处理发送给客户端的消息,包括:客户端注册、客户端注销、回复客户端消息

以下是在建立连接后的正常数据通信(发送数据,回复数据)的流程图

在处理客户端消息的逻辑处理中,封装了一个handle文件,接收客户端请求指令的函数方法处理

然后可以将处理逻辑集中放到serverInstructFunc处理,例如心跳回复函数

以上是关于基于go-gin框架的web服务框架之websocket(二)的主要内容,如果未能解决你的问题,请参考以下文章

web框架之Flask

Web开发框架之Flask入门

python之web框架

web框架--tornado框架之初识

Web框架之Tornado

web框架之基础简介