EditorEngine.Core.Endpoints.Tcp.TcpServer.AcceptCallback C# (CSharp) Méthode

AcceptCallback() private méthode

private AcceptCallback ( IAsyncResult result ) : void
result IAsyncResult
Résultat void
        private void AcceptCallback(IAsyncResult result)
        {
            var listener = (Socket)result.AsyncState;
            try
            {
                var client = listener.EndAccept(result);
                var clientStream = new Client(client);
                lock (_clients)
                {
                    _clients.Add(clientStream);
                }
                clientStream.Stream.BeginRead(_buffer, 0, _buffer.Length, ReadCompleted, clientStream);
                if (ClientConnected != null)
                    ClientConnected(this, new EventArgs());
            }
            catch
            {
            }
            finally
            {
                listener.BeginAccept(new AsyncCallback(AcceptCallback), listener);
            }
            if (_nextClientCleanup < DateTime.Now) {
                var cleanupThread = new Thread(cleanupClients);
                cleanupThread.Start();
                _nextClientCleanup = DateTime.Now.AddSeconds(10);
            }
        }