Exemple #1
0
        private void StartCheckingIfClientIsAlive(int clientPid, ClientDisconnectBehaviour behaviour)
        => Task.Run(() =>
        {
            while (!_cancellationSource.IsCancellationRequested && ClientIsAlive(clientPid))
            {
                Tick(500);
            }

            if (_cancellationSource.IsCancellationRequested)
            {
                return;
            }

            switch (behaviour)
            {
            case ClientDisconnectBehaviour.ShutdownApplication:
                Stop();
                Environment.Exit(0);
                break;

            case ClientDisconnectBehaviour.DisposeServer:
                Stop();
                break;

            case ClientDisconnectBehaviour.KeepAlive:
                break;
            }
        });
Exemple #2
0
 public void UseClientDisconnectBehaviour(ClientDisconnectBehaviour behaviour)
 {
     _clientDisconnectBehaviour = behaviour;
 }