51 lines
1.4 KiB
C#
Raw Normal View History

2024-08-17 14:27:18 +08:00

2024-08-22 20:37:39 +08:00
using System.Threading.Tasks;
using AppGame;
using AppGame.Sync;
2024-08-17 14:27:18 +08:00
using Cysharp.Threading.Tasks;
2024-10-17 01:59:25 +08:00
using JNGame.Network;
using JNGame.Network.Action;
2024-11-24 19:33:12 +08:00
using Samples.AppGame;
2024-08-17 14:27:18 +08:00
public class JNGSocket : JNSocket
{
2024-08-22 20:37:39 +08:00
public override async Task OnInit()
{
AddListener((int)NActionEnum.ServerClientDisconnect,OnServerClientDisconnect);
2024-08-31 15:35:12 +08:00
AddListener((int)NActionEnum.NAddTileServer,OnNAddTileServer);
2024-08-22 20:37:39 +08:00
await base.OnInit();
}
2024-08-17 14:27:18 +08:00
protected override async UniTask<string> GetUrl()
{
await UniTask.NextFrame();
return "ws://127.0.0.1:8080/websocket";
}
2024-08-22 20:37:39 +08:00
/// <summary>
/// 有客户端断开服务器连接
/// </summary>
/// <param name="obj"></param>
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);
2024-08-31 15:35:12 +08:00
(App.Game.Server as JNGTileSlaveServerSystem)?.RemoveSocket(disconnect.ClientId);
2024-08-22 20:37:39 +08:00
}
2024-08-31 15:35:12 +08:00
/// <summary>
/// 有新的Tile服务器
/// </summary>
/// <param name="obj"></param>
private void OnNAddTileServer(byte[] obj)
{
App.Event.Dispatch(GEvent.NetNewTileServer);
}
2024-08-17 14:27:18 +08:00
}