This commit is contained in:
richboo111
2023-04-27 11:07:54 +08:00
parent 3f5708c08f
commit 78633ef914
3 changed files with 22 additions and 4 deletions

View File

@@ -14,6 +14,8 @@ type IMController struct {
web.Controller
}
var maxMessageSize = int64(8192) // 最大的消息大小
// @Title IM初始化长链接
// @Description IM初始化长链接
// @Success 200 {object} controllers.CallResult
@@ -23,17 +25,32 @@ func (c *IMController) StartWebSocket() {
upgrader.CheckOrigin = func(r *http.Request) bool {
return true
}
ws, err := upgrader.Upgrade(c.Ctx.ResponseWriter, c.Ctx.Request, nil)
conn, err := upgrader.Upgrade(c.Ctx.ResponseWriter, c.Ctx.Request, nil)
if err != nil {
globals.SugarLogger.Errorf("upgrade error: %v", err)
return
}
defer ws.Close()
defer conn.Close()
clientID := c.GetString("clientID")
globals.SugarLogger.Debugf("clientID=%s", clientID)
im.StartWebSocket(ws, clientID, err)
//设置读取消息大小上线
conn.SetReadLimit(maxMessageSize)
clientSocket := im.NewClient(clientID, conn)
//读取客户端消息
clientSocket.Read()
if err = im.ConnRender(conn, im.RetData{Data: clientID}); err != nil {
_ = conn.Close()
return
}
// 用户连接事件
im.Manager.Connect <- clientSocket
}
// @Title IM获取门店用户聊天列表

1
controllers/im_model.go Normal file
View File

@@ -0,0 +1 @@
package controllers

View File

@@ -97,7 +97,7 @@ func Init() {
auto_delivery.Init() // 初始化骑手列表
im.Init() //初始化ws连接
http.HandleFunc("/ws", im.Run)
//http.HandleFunc("/ws", im.Run)
//test
//mux := http.NewServeMux()