一、依赖包的安装
二、在gin中使用websocket
-
1、接入鉴权
websocket也可以和普通api接口一样的做一个接口鉴权(token机制),如果验证通过可以继续往下走,没有验证不能往下走func Chat(ctx *gin.Context) { var upGrader = websocket.Upgrader{ CheckOrigin: func(r *http.Request) bool { // 根据鉴权的方式来处理,如果不想鉴权的就直接返回true,如果需要鉴权就要根据判断来返回true,或者false return true }, } } -
2、实现鉴权处理
func Chat(ctx *gin.Context) { // 根据url地址上获取当前用户id和token userId := ctx.DefaultQuery("userId", "") token := ctx.DefaultQuery("token", "") userIdInt, _ := strconv.ParseInt(userId, 10, 64) isValied := checkToken(userIdInt, token) var upGrader = websocket.Upgrader{ CheckOrigin: func(r *http.Request) bool { // 根据判断token的方法来鉴权,如果没token就返回false return isValied }, } } // 内部使用判断token合法 func checkToken(userId int64, token string) bool { ... return true } -
3、将普通的
get请求升级为websocket请求... //升级get请求为webSocket协议 conn, err := upGrader.Upgrade(ctx.Writer, ctx.Request, nil) if

本文介绍如何在Gin框架中实现WebSocket,包括依赖包安装、鉴权处理、消息收发等核心步骤,并演示了群聊功能的具体实现。
最低0.47元/天 解锁文章
1736

被折叠的 条评论
为什么被折叠?



