/// <summary> /// Executed on clientconnection closed /// </summary> /// <param name="listener">Listener to send events to</param> /// <param name="client">Client socket being closed</param> private void CloseClientConnection(ISocketListener listener, Socket client) { if (client.Connected) { listener.OnClose(this); client.Close(); this.Clients.Remove(client.GetHashCode()); } else { client.Dispose(); this.Clients.Remove(client.GetHashCode()); } }