This commit is contained in:
CortexCore
2024-08-08 23:07:50 +08:00
parent dffda3663b
commit 5038fe33d1
9 changed files with 66 additions and 22 deletions

View File

@@ -28,6 +28,7 @@ namespace BITKit.Net
public event Action OnStopServer;
private readonly KcpServer server;
private readonly GenericEvent _events = new();
private bool _isStarted;
private readonly Timer _timer = new(100)
{
AutoReset = true
@@ -85,6 +86,11 @@ namespace BITKit.Net
_now = DateTime.UtcNow;
try
{
if (_isStarted && IsRunningServer is false)
{
StartServer(_port);
}
foreach (var id in Connections.Keys.ToArray())
{
server.Send(id,_heartBeat , KcpChannel.Unreliable);
@@ -133,9 +139,10 @@ namespace BITKit.Net
}
private ushort _port;
public void StartServer(ushort port = 27014)
{
_port = port;
if (IsRunningServer is false)
{
if (TickRate > 0)
@@ -146,6 +153,7 @@ namespace BITKit.Net
OnStartServer?.Invoke();
server.Start(port);
_timer.Start();
_isStarted = true;
BIT4Log.Log<KCPNetServer>($"已启动KCP服务器:{port}");
}
else
@@ -158,6 +166,7 @@ namespace BITKit.Net
{
if (IsRunningServer)
{
_isStarted = false;
server.Stop();
OnStopServer?.Invoke();
_timer.Stop();