Blaze.Server.BlazeHubServer.CloseSocket C# (CSharp) Method

CloseSocket() private static method

private static CloseSocket ( IAsyncResult ar ) : void
ar IAsyncResult
return void
        private static void CloseSocket(IAsyncResult ar)
        {
            try
            {
                var clientID = (long)ar.AsyncState;
                var client = Clients[clientID];

                lock (Clients)
                {
                    if (Clients.ContainsKey(client.ID))
                    {
                        Clients.Remove(client.ID);
                    }
                }

                try
                {
                    client.Socket.Shutdown(SocketShutdown.Both);
                }
                catch { }

                client.Socket.Close();

                Log.Info($"Client {clientID} disconnected");
            }
            catch (Exception ex)
            {
                Log.Error(ex.ToString());
            }
        }
    }