Beispiel #1
0
        public async Task DisconnectClientAsync(bool dispose = false)
        {
            Config.DisconnectClient();

            if (Config.ClientConnection.Connected)
            {
                Config.ClientConnection.Disconnect(true);
            }

            while (Config.ClientConnection.Connected)
            {
                Logger.Log("Waiting for client to disconnect...");
                await Task.Delay(5).ConfigureAwait(false);
            }

            Logger.Log($"Disconnected client => {Config.IpAddress}");

            OnDisconnected?.Invoke(this, new OnDisconnectedEventArgs(Config.IpAddress, Config.Uid, 5000));

            if (dispose)
            {
                Config.ClientConnection?.Close();
                Config.ClientConnection?.Dispose();

                JobManager.AddJob(() => {
                    TCPServerCore.RemoveClient(this);
                }, TimeSpan.FromSeconds(5));
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            TCPServerCore serverCore = new TCPServerCore();

            serverCore.Initialize();
        }