feat: 增加踢人超时处理中的玩家信息保存
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
将踢人超时时间从3秒调整为10秒,并在超时处理中保存玩家信息
This commit is contained in:
@@ -259,11 +259,12 @@ func (player1 *Player) Kick(isquit bool) {
|
||||
|
||||
// --- 新增超时机制核心代码 ---
|
||||
// 设定超时时间(可根据业务需求调整,这里以3秒为例)
|
||||
const kickTimeout = 3 * time.Second
|
||||
const kickTimeout = 10 * time.Second
|
||||
select {
|
||||
case <-CloseChan:
|
||||
// 正常流程:连接关闭回调已执行,CloseChan 被关闭
|
||||
case <-time.After(kickTimeout):
|
||||
player1.Service.Info.Save(*player1.Info)
|
||||
service.NewBaseSysLogService().RecordKick(uint32(player1.Info.UserID), fmt.Errorf("踢人操作超时(超时时间:%v)", kickTimeout).Error())
|
||||
// 超时处理:避免永久阻塞,可添加日志便于排查问题
|
||||
// 注意:这里不会中断 CloseWithCallback 的执行,仅解除当前协程的阻塞
|
||||
|
||||
Reference in New Issue
Block a user