using System.Threading.Tasks; using AppGame; using AppGame.Sync; using Cysharp.Threading.Tasks; using Plugins.JNGame.Network; using Plugins.JNGame.Network.Action; public class JNGSocket : JNSocket { public override async Task OnInit() { AddListener((int)NActionEnum.ServerClientDisconnect,OnServerClientDisconnect); await base.OnInit(); } protected override async UniTask GetUrl() { await UniTask.NextFrame(); return "ws://127.0.0.1:8080/websocket"; } /// /// 有客户端断开服务器连接 /// /// private void OnServerClientDisconnect(byte[] data) { var disconnect = JNClientDisconnect.Parser.ParseFrom(data); //断开Tile服务器连接 (App.Game.Client as JNGTileClientSystem)?.RemoveSocket(disconnect.ClientId); (App.Game.Server as JNGTileServerSystem)?.RemoveSocket(disconnect.ClientId); } }