Files
PandaX/pkg/websocket/socket_server_pool.go
2023-08-22 15:17:14 +08:00

38 lines
949 B
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package websocket
import (
"github.com/gorilla/websocket"
"pandax/pkg/global"
)
var Wsp = make(map[string]*Websocket)
// GetWebSocketByScreenId 获取WebSocket
func GetWebSocketByScreenId(screenId string) *Websocket {
return Wsp[screenId]
}
// AddWebSocketByScreenId 添加WebSocket
func AddWebSocketByScreenId(screenId string, webs *Websocket) {
Wsp[screenId] = webs
}
// RemoveWebSocket 移除WebSocket
func RemoveWebSocket(screenId string) bool {
if ws, ok := Wsp[screenId]; ok {
ws.Conn.Close()
delete(Wsp, screenId)
global.Log.Info("已经断开websocket" + screenId)
return true
}
return false
}
// SendMessage 向特定场景id发送消息同一场景代码有可能在多台客户机上连接 ,这时就会在多台客户机接受到了数据
func SendMessage(message, screenId string) {
ws := GetWebSocketByScreenId(screenId)
if ws != nil {
ws.Conn.WriteMessage(websocket.TextMessage, []byte(message))
}
}