В чем разница между Indy 9 и Indy 10? - PullRequest
3 голосов
/ 20 апреля 2009

Я отвечаю за портирование приложения Delphi 2007 на C # и абсолютно не имею опыта работы с Delphi. Мне интересно, в чем разница между двумя версиями Indy, которые включает в себя Delphi - Indy 9 и Indy 10. На данный момент я даже не знаю, что такое Indy. Кто-нибудь может мне помочь? Это просто разные версии библиотеки Delphi? Каковы последствия использования одного или другого?

Спасибо!

Ответы [ 6 ]

6 голосов
/ 20 апреля 2009

Indy - это сокращение от Internet Direct, библиотеки с открытым исходным кодом для работы в сети. Он чаще всего используется для выполнения интернет-задач, таких как отправка электронных писем и еще много чего.

Если вы портируете из унаследованного (скажем, Delphi 7) приложения, которое использует Indy 8 или 9, то использование Indy 9 в Delphi 2007 будет проще. Если вам все равно , используйте Indy 10, так как он имеет много значительных улучшений для библиотеки, а также есть некоторые большие архитектурные изменения.

3 голосов
/ 31 мая 2009

Некоторые детали:

  • Indy10 уже есть в D2005, хотя версии D2005 и D2006 позволяют выбрать, какую из них установить.
  • .... что не имеет значения, в любом случае всегда устанавливайте самые последние и самые лучшие версии, чтобы получить новейшие исправления.
  • Indy10 лучше внутренне, но поскольку они разбивают его на несколько модулей, у новичков часто возникают проблемы с его компиляцией вручную. Примерно способ работы Indy devels навязан пользователям, что, я думаю, было ненужным в ретроспективе, поскольку на практике все пакеты должны обновляться целиком.
  • Indy10 является портативным. Поддержка indy9 Kylix была не чем иным, как взломом.
  • Оба работают с FPC / Lazarus, но Indy9 только на win32. Indy10 также на Unix, OS X, Win64 и Wince. На Lazarus порт Indy10 обычно лучше.
  • В прошлый раз, когда я проделал значительную работу с ним, примеры Indy10 были хуже, чем примеры indy9.
  • Indy10 погряз в болоте .NET и является значительно менее нулевой копией, чем indy9. Это стало хуже в течение жизни Indy10.
  • Некоторые из первоначальных целей Indy10 (например, поддержка оптоволокна для очень большого количества соединений) не были реализованы. Потребность в волокнах в любом случае должна быть переоценена с гигантским увеличением (среднего) объема доступной памяти, и я также не знаю, как Microsoft видит волокна в настоящее время.
3 голосов
/ 20 апреля 2009

Indy - это оболочка winsock, которая обеспечивает поведение блокирующих сокетов для сетевого / интернет-программирования (ftp, telnet, http и т. Д.)

Indy 10 является более новой версией из Indy 9, и хотя изменения могут улучшить архитектуру, они удалили некоторые функции и изменили положение вещей. Если ваша программа использует части, которые были перемещены или удалены, перенос на Indy 10 будет болезненным.

Если вы переходите с Delphi на C #, вы обнаружите, что версия Indy для C # ОЧЕНЬ отличается от версии Delphi. Ну, по крайней мере, когда я посмотрел на это.

3 голосов
/ 20 апреля 2009

Посмотрите документацию по Indy 10, в частности, разделы Что нового в Indy.Sockets версии 10 и Изменения в иерархии объектов

http://www.indyproject.org/docsite/html

1 голос
/ 28 марта 2013

Программные треки BorCon 2004 включали статью Чада Хоуера, Обновление до Indy 10 .

Аннотация: На этом занятии рассматриваются изменения, внесенные в Indy 10, и как быстро портировать существующий код. Это также покрывает преимущества Indy 10 и почему вы должны портировать свой код. В то время как производительность и другие демонстрации, эта сессия представляет собой практический обзор и не фокусируется на демонстрационном коде.

Содержание:

  • Обновление до Indy 10
  • Инди 10 Статус
  • Установка одновременных версий
  • Совместимость
  • Миграция
  • Основные изменения и дополнения
1 голос
/ 20 апреля 2009

Indy Delphi - это библиотека (Tcomponent) для Delphi, представляющая истинную силу WinSock. Она предоставляет компоненты для настройки, TCP / UDP-соединений и многое другое.

Официальная страница: http://www.indyproject.org Там вы найдете все, что вам нужно.

Indy 9 - это старая версия библиотеки Indy. Indy 10 вышла в 2008 году вместе с Delphi 2009. Вся структура библиотеки изменилась в Indy 10.

На мой взгляд, Indy 9 был лучше.

...