This commit is contained in:
苏尹岚
2020-12-23 09:28:48 +08:00
parent 1765620899
commit 947750c5c9
4 changed files with 33 additions and 19 deletions

View File

@@ -34,7 +34,7 @@ type EventController struct {
//连接的客户端,吧每个客户端都放进来
var clients = make(map[int]map[string]*websocket.Conn)
var clientsHeart = make(map[string]*websocket.Conn)
var ClientsHeart = make(map[string]*websocket.Conn)
//广播频道(通道)
var broadcast = make(chan *model.ImMessageRecord)
@@ -84,7 +84,7 @@ func (c *EventController) TestWebsocket() {
return
}
clientUser[userID] = ws
clientsHeart[userID] = ws
ClientsHeart[userID] = ws
for _, v := range messageGroups {
if len(clients[v.GroupID]) > 0 {
clients[v.GroupID][userID] = ws
@@ -116,7 +116,7 @@ func (c *EventController) TestWebsocket() {
for k, _ := range clients {
delete(clients[k], userID)
}
delete(clientsHeart, userID)
delete(ClientsHeart, userID)
// delete(clients, ws) //删除map中的客户端
break //结束循环
} else {
@@ -135,7 +135,7 @@ func (c *EventController) TestWebsocket() {
}
//如果这些人不在这个组的ws池子里就打上未读标记
for _, v := range userIDs {
if clientsHeart[v] == nil {
if ClientsHeart[v] == nil {
messageGroupReads, _ := dao.GetMessageGroupRead(db, v, s.GroupID)
for _, vv := range messageGroupReads {
vv.UnReadCount++
@@ -165,13 +165,13 @@ func handleMessages() {
msg := <-broadcast
if msg.GroupID == 0 {
// globals.SugarLogger.Debugf("heart %v", utils.Format4Output(msg, false))
if clientsHeart[msg.UserID] != nil {
if err := clientsHeart[msg.UserID].WriteJSON(&model.ImMessageRecord{
if ClientsHeart[msg.UserID] != nil {
if err := ClientsHeart[msg.UserID].WriteJSON(&model.ImMessageRecord{
Key: "pang",
}); err != nil {
globals.SugarLogger.Debugf("heart client.WriteJSON error: %v", err)
clientsHeart[msg.UserID].Close() //关闭
delete(clientsHeart, msg.UserID)
ClientsHeart[msg.UserID].Close() //关闭
delete(ClientsHeart, msg.UserID)
}
}
} else {