Files
bl/common/data/entity/Client.go
昔念 6b639b8826 feat(common): 添加 WebSocket 支持
- 在 ClientData 结构中添加 WsCodec 字段
- 实现 WebSocket 升级和消息处理逻辑
- 添加 WebSocket 相关的依赖包
2025-07-11 21:04:28 +08:00

50 lines
959 B
Go

package entity
import "sync"
type ClientData struct {
isCrossDomain bool //是否跨域过
player *Player //客户实体
//UserID uint32
m sync.Mutex
wsmsg WsCodec
}
func (cd *ClientData) SetPlayer(player *Player) {
cd.m.Lock()
defer cd.m.Unlock()
cd.player = player
}
func (cd *ClientData) GetPlayer() *Player {
cd.m.Lock()
defer cd.m.Unlock()
return cd.player
}
func (cd *ClientData) Getwsmsg() *WsCodec {
cd.m.Lock()
defer cd.m.Unlock()
return &cd.wsmsg
}
func (cd *ClientData) SetCrossDomain(isCrossDomain bool) {
cd.m.Lock()
defer cd.m.Unlock()
cd.isCrossDomain = isCrossDomain
}
func (cd *ClientData) GetIsCrossDomain() bool {
cd.m.Lock()
defer cd.m.Unlock()
return cd.isCrossDomain
}
func NewClientData() *ClientData {
cd := ClientData{
isCrossDomain: false,
player: nil,
m: sync.Mutex{},
wsmsg: WsCodec{},
}
return &cd
}