Indy 9和Indy 10有什么区别?

时间:2009-04-20 15:41:55

标签: delphi delphi-2007 indy

我负责将Delphi 2007应用程序移植到C#,并且完全没有使用Delphi的经验。我想知道Delphi包括的两个Indy版本之间有什么区别--Indy 9和Indy 10.此时我甚至不知道什么是Indy。有人可以帮我吗?它们只是Delphi库的不同版本吗?使用其中一个有什么含义?

谢谢!

6 个答案:

答案 0 :(得分:6)

Indy是Internet Direct的缩写,Internet Direct是一个用于建立网络的开源库。它最常用于做与互联网相关的事情,比如发送电子邮件等等。

如果您从使用Indy 8或9的传统(例如,Delphi 7)应用程序移植,您会发现在Delphi 2007中使用Indy 9将是一个更容易的端口。 如果您不关心 ,请使用Indy 10,因为它对库有很多重大改进,并且还有一些重大的架构变化。

答案 1 :(得分:3)

查看Indy 10文档,特别是 Indy.Sockets版本10中的新功能对象层次结构的更改

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

答案 2 :(得分:3)

Indy是一个winsock包装器,为网络/互联网编程提供阻塞套接字行为(ftp,telnet,http等)

Indy 10是Indy 9的新版本,虽然这些更改可能会改善架构,但它们删除了一些功能并移动了一些东西。如果您的程序使用移动或移除的部件,那么移植到Indy 10将会很痛苦。

如果您从Delphi迁移到C#,那么您会发现Indy的C#版本与Delphi版本非常不同。好吧,至少当我看着它。

答案 3 :(得分:3)

一些细节:

  • Indy10已经在D2005中发布了,但版本D2005和D2006允许选择安装哪一个。
  • ....这无所谓,无论如何总是安装最新最好的,以获得最新的修复。
  • Indy10在内部更好,但由于它们将它分成几个模块,初学者通常会手动编译它。大体上Indy级别的工作方式是用户的推力,我认为回想起来是不必要的,因为所有包装必须在实践中作为一个整体进行更新。
  • Indy10是便携式的。 indy9 Kylix支持不仅仅是一个黑客攻击。
  • 两者都与FPC / Lazarus合作,但Indy9仅在win32上合作。 Indy10也适用于Unix,OS X,win64和wince。在拉撒路,Indy10港口通常更好。
  • 上次我做了大量的工作,Indy10的例子不如indy9的。
  • Indy10陷入了.NET morass,并且比indy9的零拷贝少得多。这比Indy10的一生更糟糕。
  • Indy10的一些最初目标(如非常高连接数的光纤支持)未实现。无论如何,随着(平均)可用内存的巨大增长,需要对光纤的需求进行重新评估,而且我也不知道微软现在如何看待光纤。

答案 4 :(得分:1)

Indy Delphi是Delphi的一个库(Tcomponent),代表WinSock的真正功能。它提供了调整,TCP / UDP连接等组件。

官方网页是:http://www.indyproject.org 你会在那里找到你需要的一切。

Indy 9是Indy库的旧版本。 Indy 10于2008年与Delphi 2009一起推出。图书馆的整体结构在Indy 10中有所改变。

在我看来,Indy 9更好。

答案 5 :(得分:1)

BorCon 2004 Programming Tracks包括Chad Hower的文章,Upgrading to Indy 10

  

摘要:本次会议将介绍对Indy 10所做的更改以及如何进行   快速移植现有代码。它还涵盖了Indy 10的优势   以及为什么要移植代码。而性能和其他   展示了演示,这个会议是一个实用的概述和   不专注于演示代码。

内容:

  • 升级至Indy 10
  • Indy 10状态
  • 安装并发版本
  • 兼容性
  • 移植
  • 主要变更和补充