- 在 ServerEvent.go 中增加 TCP 连接的特殊处理逻辑,防止缓冲区溢出 - 修改 CreatePlayer.go 中的昵称处理,去除多余的空格 - 优化 mapout.go 中的玩家离开地图通知逻辑 - 在 wscodec.go 中增加对 TCP 连接的识别和处理
35 lines
1.0 KiB
Go
35 lines
1.0 KiB
Go
package controller
|
|
|
|
import (
|
|
"blazing/common/socket/errorcode"
|
|
"blazing/cool"
|
|
"blazing/logic/service"
|
|
"blazing/logic/service/login"
|
|
"blazing/logic/service/space"
|
|
blservice "blazing/modules/blazing/service"
|
|
"strings"
|
|
)
|
|
|
|
// 处理命令: 1001
|
|
func (h *Controller) CreatePlayer(data *login.CreatePlayerInboundInfo, c *service.Conn) (result *login.CreatePlayerOutInfo, err errorcode.ErrorCode) {
|
|
|
|
blservice.NewUserService(data.Head.UserID).Reg(cool.Filter.Replace(data.Nickname, '*'), data.Color)
|
|
return result, 0
|
|
}
|
|
|
|
func (h *Controller) ChangePlayerName(data *login.ChangePlayerNameInboundInfo, c *service.Player) (result *login.ChangePlayerNameOutboundInfo, err errorcode.ErrorCode) {
|
|
newnice := cool.Filter.Replace(strings.Trim(data.Nickname, "\x00"), '*')
|
|
|
|
c.Info.Nick = newnice
|
|
result = &login.ChangePlayerNameOutboundInfo{
|
|
Nickname: newnice,
|
|
UserID: c.ID(),
|
|
}
|
|
space.GetSpace(c.MapID()).Range(func(playerID uint32, player service.PlayerI) bool {
|
|
|
|
player.SendPack(data.Head.Pack(&result))
|
|
return true
|
|
})
|
|
return result, 0
|
|
}
|