im3
This commit is contained in:
@@ -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
1
controllers/im_model.go
Normal file
@@ -0,0 +1 @@
|
||||
package controllers
|
||||
Reference in New Issue
Block a user