gin中使用Socket.io踩的坑
最近在使用golang来搭建后台系统,框架使用非常著名的gin框架,由于在项目中需要使用socket.io进行长连接管理,官方推荐的golang服务端为go-socket.io,于是按照官方的文档示例很简单的就搭建起来了后台服务。 但是使用client 进行连接的时候就出现了各种问题,本文记录一下解决方案。
最近在使用golang来搭建后台系统,框架使用非常著名的gin框架,由于在项目中需要使用socket.io进行长连接管理,官方推荐的golang服务端为go-socket.io,于是按照官方的文档示例很简单的就搭建起来了后台服务。 但是使用client 进行连接的时候就出现了各种问题,本文记录一下解决方案。
在前后端分离的开发模式下,跨域问题一直是个老生常谈的问题,一般的解决方案分为前端与后端,前端主要利用jsonp来解决,但是后端解决会更更加方便,本文记录一下使用gin框架时在后端解决跨域问题。
redis 在web系统中有着非常重要的地位,可以充当缓存,消息队列,分步式锁等,本文介绍一下使用go-redis这个库来简单地操作redis。
在之前的文章中,基本上都是使用的默认的 gin.Default() 来初始化一个引擎,之后再调用引擎的Run方法来运行一个web服务,现在如果有个需求,某些api只有管理员权限的才可以进行访问,非管理员的就很401,我们可以写一个方法,在需要授权的接口调用该方法来进行验权,但是在gin中还可以使用更加优雅的方法,中间件。
之前的文章介绍了gin框架的基础使用,现代的web系统,很少不与数据库打交道的,接下来的几篇文章,从日常使用的比较多的数据库MySQL, Mongodb, redis 来分别简单的介绍如何使用,这篇先介绍一下MySQL的使用。
之前的文章都是一种无状态的请求,在处理有状态的请求时,如用户登录的场景就不行了,web系统通常使用cookie或者session来记录用户状态,本文记录一下gin框架下cookie与session的使用。
上一篇记录了gin框架的搭建与路由的基本使用,本文主要记录一下路由处理过程中的参数传递问题,包含GET与POST传参,以及路径参数的使用。
gin 是golang 中比较流行的框架,很多系统都是在该框架下开发的,这个框架给我的感觉像是Tornado在python中的位置,基础的功能都有,但是如果想要很好的使用,还需要开发很多自己的功能与中间件,在看过不少的教程以后,想要记录一下学习的过程。
本系列简单的实现了一些做后台服务的能用方法,如获取参数,数据库查询等操作,项目的整体还谈不上架构,顶多算是个quick start, 目录结构也不那么讲究,因为初学,所以肯定会有很多问题。以后再一点点的实践一点点的修。