早先用TServerSocket和TClientSocket,这两个东西好是好,就是嫌太原始,要自己增加很多东西。
后来用ICS,感觉还不错。WinShoes也用过一段时间。
试用Indy后,其它的都不想用了。主要基于以下原因:
1)Indy用Blocking模式,容易编写代码(千万别和我争论什么blocking模式差劲之类的话题。
关于这个问题,Kudzu的文章已经说得很清楚了。见:http://www.delphibbs.com/delphibbs/dispq.asp?lid=859110
2)对RFC协议封装较完整(这种提法当然不是最准确的,其实是对其中一些协议封装得完整)。
用起来相当方便。
3)完全支持线程,在多线程程序中无需考虑同步问题。
4)最重要的一点,是跨平台的。如果你的程序同时运行于Windows和Linux,用Indy几乎是唯一选择。