![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 74
勤奋的motto
我是一个热爱编程的人
展开
-
golang miniate gate server session管理(2)
1.思路客户端连接到服务器,将connect包裹到session struct中,给session增加注销channel,decoder,send channel(用于接受conn.read的数据)2.gate servertype GateServer struct { base.BaseServer conf *config IdGeneral *snowflake.Node //注销session的channel unregister chan uint64 //接受s原创 2022-05-03 19:31:01 · 229 阅读 · 0 评论 -
golang miniate packet 数据报文格式(3)
1.需求尽量小的数据包自动压缩路由,用int替代string数据包分成2部分,一部分(packet)给框架用,另一部分(message)给业务用数据包中包含请求类型支持多种格式的数据解析如果数据格式是json,protobuf可以上传object name2.报文协议packet.body(message)报文分为2部分,packet和messagepackethead5bytestype1byteHandshake = 0x01 客户端握手请求Ha原创 2022-05-03 19:27:22 · 221 阅读 · 0 评论 -
goalng minigate gate server session连接(1)
思路将tcp和websocket的connect全部转化成一个interface,在框架层好管理然后把connect.read接收的数据统一用一个函数处理,保证websocket和tcp请求走同一套业务代码connect.write同理session基类tcp封装websocket封装...原创 2022-05-02 15:48:19 · 1220 阅读 · 0 评论 -
goalng minigate轻量级的长连接服务框架(0)
介绍mini gate是一个轻量级的长连接服务框架,物联网等长连接服务,框架自身包含一套完整的路由体系和websock,tcp连接框架中封装了完整的gate服,业务服务基类(BusinessSerer),redis,mysql,rabbitMQ,日志,panic捕捉逻辑,docker,等一系列工具开发者只用关心业务服的实现,和gate服路由的注册,可以节省对公共逻辑开发的时间如果想让业务费A,业务服B…,gate进行一些内部联动,可使用grpcexample里有一个完整的demo实现login,原创 2022-04-29 22:23:33 · 3128 阅读 · 0 评论 -
金山云短信golang接入
金山云短信golang接入一个简单的金山云短信golang 接入,大家有需要直接copy,不重复造轮子。func sendVcode(phone, vcode string, smsCfg config.SmsConfig) (err error) { nowStr := time.Now().UTC().Format(time.RFC3339) urlStr := "https://ksms.api.ksyun.com" bodyMap := map[string]interface{}{原创 2020-05-13 15:33:22 · 371 阅读 · 0 评论 -
golang版微信小程序图片上传,服务器保存
golang版微信小程序图片上传,服务器保存其实很简单,小程序那边调wx.uploadFile其实就是客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data,只不过以前是自己写接口,现在是由微信的api来调用.怎么读取呢,你只需要读取FromFile表单中的内容就行了,go很简单不用框架,我为了方便开发用的ginfile...原创 2018-10-24 18:50:39 · 2395 阅读 · 1 评论 -
golang版微信小程序登录和ase解码微信公开数据
golang版微信小程序登录和ase解码微信公开数据虽然微信提供了很多版语言的代码,但是没有go版,很简单的,大家想偷个懒就直接copy我的代码就好了首选用code登录微信服务器,返回openID和session_keytype RespWXSmall struct { Openid string `json:"openid"` //用户唯一标识 Sessio...原创 2018-11-06 11:40:12 · 5377 阅读 · 3 评论 -
go gin中间件开发
go gin中间件开发我开发了检查request请求中的参数(包含get post和json参数)sql注入检查,和token检查我先说一下思路在中间件中,获得request,取出其中你要检查或过滤的参数token检查,我有一张uid->token的数据表,用获得的token去查询数据库,检查是否存在sql注入检查,使用正则表达式匹配每一个参数,注意json参数和postget...原创 2018-11-06 14:08:20 · 1687 阅读 · 4 评论