Delphi + Инди: Соединение закрывается корректно

Следующий рекурсивный алгоритм выбирает все комбинации k-элемента от упорядоченного множества:

  • выбирают первый элемент i из Вашей комбинации
  • объединение i с каждой из комбинаций k-1 элементы, выбранные рекурсивно из набора элементов, больше, чем i.

Выполняют итерации вышеупомянутого для каждого i в наборе.

важно, чтобы Вы выбрали остальную часть элементов как больше, чем i, для предотвращения повторения. Этот путь [3,5] будет выбран только однажды, как [3] объединенный с [5], вместо дважды (условие устраняет [5] + [3]). Без этого условия Вы получаете изменения вместо комбинаций.

8
задан Atlas 6 July 2009 в 08:13
поделиться

1 ответ

Прочтите об этом на http://www.swissdelphicenter.ch/en/showarticle.php?id=1

EIdConnClosedGracefully является исключение, сигнализирующее о том, что соединение было закрыто другая сторона намеренно. Это не так же, как разорванное соединение, которое вызовет ошибку сброса соединения. Если другая сторона закрыла соединение и сокет читается или написано, EIdConnClosedGracefully будет воспитан Инди. Это похоже на попытку читать или писать в файл, который был закрыт без ваши знания.

В некоторых случаях это настоящее исключение и ваш код должен с этим справиться. В другие случаи (обычно серверы) это это нормальная часть функционирования протокол и Инди обрабатывает это исключение для вас. Хотя Инди ловит при запуске в IDE отладчик будет запущен первым. Вы можете просто нажать F9, чтобы продолжить и Indy обработает исключение, но постоянные остановки во время отладка может сильно утомлять. В случаи, когда Инди ловит исключение, ваши пользователи никогда не увидят исключение в вашей программе, если оно не запускается из среды IDE.

21
ответ дан 5 December 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: