# TapBattleClient.Disconnect
# 功能描述
断开与多人联机服务器的连接。通常在不再需要使用多人联机功能、应用退出或长时间不使用时调用。
# 方法签名
public static void Disconnect(BattleOption option)
# 参数说明
# BattleOption
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| success | Action<TapCallbackResult> | 否 | 断开连接成功回调 |
| fail | Action<TapCallbackResult> | 否 | 断开连接失败回调 |
| complete | Action<TapCallbackResult> | 否 | 断开连接完成回调(无论成功失败) |
# 使用说明
# 断开时机
- 退出到主菜单时
- 应用切换到后台长时间后
- 不再需要多人联机功能时
- 调用FinalizeSDK前(可选,FinalizeSDK会自动断开)
# 注意事项
- 自动离开房间 - 断开连接会自动离开当前房间
- 丢失playerId - 断开后playerId失效,重新连接会获得新的playerId
- 建议顺序 - 最好先调用LeaveRoom,再调用Disconnect
# 代码示例
# 示例1:基础断开
using UnityEngine;
public class ConnectionManager : MonoBehaviour
{
public void DisconnectFromServer()
{
TapBattleClient.Disconnect(new BattleOption
{
success = (result) => {
Debug.Log("已断开与服务器的连接");
},
fail = (result) => {
Debug.LogError($"断开连接失败: {result.errMsg}");
}
});
}
}
# 最佳实践
- 按顺序清理 - 建议先LeaveRoom,再Disconnect,最后FinalizeSDK
- 错误容忍 - 即使断开失败,也应继续后续的清理步骤
- 状态重置 - 断开后记得清除本地的playerId等状态数据
- 应用生命周期 - 在OnApplicationPause或OnApplicationQuit时考虑断开连接
# 相关API
- TapBattleClient.Connect - 连接服务器
- TapBattleClient.LeaveRoom - 离开房间(建议先调用)
- TapBattleClient.FinalizeSDK - 终止化SDK
