im3
This commit is contained in:
@@ -14,6 +14,8 @@ type IMController struct {
|
|||||||
web.Controller
|
web.Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var maxMessageSize = int64(8192) // 最大的消息大小
|
||||||
|
|
||||||
// @Title IM初始化长链接
|
// @Title IM初始化长链接
|
||||||
// @Description IM初始化长链接
|
// @Description IM初始化长链接
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
@@ -23,17 +25,32 @@ func (c *IMController) StartWebSocket() {
|
|||||||
upgrader.CheckOrigin = func(r *http.Request) bool {
|
upgrader.CheckOrigin = func(r *http.Request) bool {
|
||||||
return true
|
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 {
|
if err != nil {
|
||||||
globals.SugarLogger.Errorf("upgrade error: %v", err)
|
globals.SugarLogger.Errorf("upgrade error: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer ws.Close()
|
defer conn.Close()
|
||||||
|
|
||||||
clientID := c.GetString("clientID")
|
clientID := c.GetString("clientID")
|
||||||
globals.SugarLogger.Debugf("clientID=%s", 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获取门店用户聊天列表
|
// @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