怎样使用Delphi的indy控件

2017年6月22日 | 分类: 【技术】

【介绍】

INDY的全名是Internet Direct(也叫Winshoes),它是一套功能丰富、使用方便、开源免费的INTERNET控件集,它支持大部分流行的Internet协议,包括 TCP、UDP、 DNS、ICMP、FINGER、FTP、GOPHER、HTTP、POP3、SMTP、TELNET、WHOIS等,支持BASE64、MD2、 MD4、MD5等编解码,提供INTERNET流行协议的客户端和服务器控件。INDY控件集的客户端和服务器控件都有完整、详细的源代码例程和帮助文 件,用户可以根据这些例子,简单方便快速的建造各种服务器程序,例如WEB服务器、 TELNET服务器、IRC服务器、TCP、UDP服务器等,而这些服务器都是支持多线程的。用户也可以很简单的编写出各种客户端程序,例如EMAIL、FINGER、FTP、PING、TELNET等。著名的OICQ使用的协议是UDP,有了INDY你可以使用UDP服务器和UDP客户端写出一个和 OICQ较劲的东东来。

INDY是完全基于SOCKET阻塞工作模式的开发库,现在已经支持BORLAND Delphi、C++ BUIDER和最新的Kylix(LINUX里的Delphi)等开发平台。

an I use Indy in my shareware/commercial applications?
我能在共享软件或商业软件中使用Indy组件吗?

Yes, you may use Indy in your commercial or shareware application if you follow the Indy license. We are aware of several commercial programs and even a commercial component set that uses Indy.
可以,只要您遵守Indy组件的协议,您就能在您的商业软件或共享软件中使用Indy组件。我们已经知道一些商业程序甚至商业组件集使用Indy组件。

Normally what we ask is you use a “made with Indy” or even the button on the website in an about box or such, and the license text in the docs somewhere. You should display the following copyright notice somewhere in your program such as an About Box, splash screen, or documentation:
通常我们只要求您在您的网站上的“关于”中放置一个按钮或者一个“ made with Indy”标志,并且在文档中放置Indy的协议文档。您必须在您的程序的适当位置(如关于对话框,启动画面或文档中)放置如下的版权声明:

Portions of this software are Copyright (c) 1993 – 2003, Chad Z. Hower (Kudzu) and the Indy Pit Crew – http://www.nevrona.com/Indy/

本软件的一部分的版权属于1993 – 2003, Chad Z. Hower (Kudzu) and the Indy Pit Crew – http://www.nevrona.com/Indy/

【安装】

1,卸载旧版本:

使用Delphi的安装程序来卸载

Delphi中Indy组件的卸载方法

2,安装Indy新版:Indy Download

将C++ Builder6 的Indy 升级到 9.0

[BCB6] INDY 安装讨论

视频 Indy 快照版安装视频

用视频演示的方式介绍如何在 Delphi 2007 下删除 Delphi 自带的 Indy 版本,并安装 Indy 的快照版(既最新版)。这是本人第一次玩视频录像,在解说的过程中有点语无伦次,呵呵,请大家谅解哈!补充一句,貌似我在视频中误删了deployindy.bpl,大家操作的时候请留意,不要删除它。

附上简要安装方法的文字说明:

安装方法

安装前请先确定已经删除旧版本的Indy(包括随Delphi安装的版本),并删除所有和Indy有关的文件(包括dcu,pas,bpl,dcp等文件)。

解压Indy10.zip到C:\Indy10

目录中(路径为假设地址,您可以根据喜好自己决定解压位置),然后用Delphi打开C:\Indy10\Lib\Computil.dpr,编译,得到 Computil.exe文件。注意,如果您使用的是Delphi6,请确保已经打上了SP2的补丁。然后根据您的Delphi版本,分别执行不同的 bat文件来进行编译。现在假设您装的是Delphi7,请双击C:\Indy10\Lib\Fulld7.bat进行编译(如果您用的是BCB6,请使 用Fullc6.bat编译)。然后会得到C\Indy10\D7目录,这个目录下有编译好的所有dcu和bpl文件。现在打开Delphi,点 Component菜单,选择Install Packages菜单项,点Add按钮,然后把C:\Indy10\D7目录下的, dclIndy*.bpl添加到Design packages列表中。然后点Tools-Environment Options菜单,点 Library选项卡,把C:\Indy10\D7目录加到Library Path中,再把C:\Indy10\Lib\下的所有子目录加到 Browsing Path中,点OK。即完成安装。

Indy 快照版下载地址:http://www.2ccc.com/article.asp?articleid=4100

Indy10 is integrated with Delphi 2007 for Win32. However, you can install the earlier version, Indy 9, from RAD Studio\5.0\Source. Delphi 2007 Readme.

三. Indy组件介绍

在Delphi 7 中用Indy开发Socket应用程序

如何IdTCPClient使用?

Indy Client / Server 程序示例

6-1 IdTCPClient

6-1-1 属性

6-1-2 BoundIP和BoundPort与Host和Port的不同

6-1-3 方法

6-2 IdTCPServer

6-2-1 属性

6-2-2 如何使用Bindings

6-2-3 示例 117

6-3 IdDayTime和IdDayTimeServer 118

6-3-1 IdDayTime 119

6-3-2 IdDayTimeServer 119

6-4 IdEcho和IdEchoServer 120

6-5 IdTime和IdTimeServer 120

6-6 IdTelnet和IdTelnetServer 122

6-7 IdFinger和IdFingerServer 127

第7章 Indy9中的FTP组件 131

7-1 FTP文件传输协议基本概念 132

7-2 FTP服务器的设计 133

7-2-1 OnUserLogin事件 133

7-2-2 OnListDirectory事件 134

7-2-3 OnChangeDirectory事件 138

7-2-4 OnMakeDirectory事件 140

7-2-5 OnRemoveDirectory事件 141

7-2-6 OnStoreFile事件 142

7-2-7 OnReceiverFile事件 143

7-2-8 OnDeleteFile事件 143

7-2-9 OnGetFileSize事件 145

7-2-10 OnRenameFile事件 145

7-3 ASender介绍 147

7-4 IdFTPServer中的属性 148

7-4-1 AllowAnonymousLogin属性 148

7-4-2 AnonymousAccounts属性 149

7-4-3 AnonymousPassStrictCheck属性 149

7-4-4 EmulateSystem属性 150

7-4-5 MaxConnections属性 150

7-4-6 MaxConnectionReply属性 151

7-4-7 UserAccounts属性 152

第8章 邮件及新闻组件的使用 155

8-1 IdPOP3组件的使用 156

8-1-1 邮件数目 157

8-1-2 邮件标题 157

8-1-3 邮件接收 159

8-2 IdSmtp组件的使用 161

8-2-1 设置邮件服务器 162

8-2-2 连接SMTP服务器 163

8-2-3 断开SMTP服务器 163

8-2-4 填充邮件内容 163

8-2-5 加入邮件附件 164

8-2-6 发送电子邮件 165

8-2-7 更多的内容 165

8-3 什么是新闻组 167

8-3-1 获取新闻组列表 168

8-3-2 取得文章列表 171

8-3-3 得到文章内容 173

8-3-4 IdNNTP的高级内容 176

8-3-5 最后的总结 178

第9章 IdHTTP组件介绍 179

9-1 组件的方法介绍 180

9-1-1 Get方法 180

9-1-2 POST和PUT方法 183

9-1-3 Head方法 187

9-1-4 更多的方法 188

9-2 属性介绍 189

9-2-1 ProtocolVersion属性 190

9-2-2 Host和Port属性 191

9-2-3 Request属性 192

9-2-4 CookieManager属性 194

9-2-5 ProxyParams属性 195

9-3 最后的总结 196

第10章 Indy中的UDP组件 197

10-1 IdUDPClient和IdUDPServer组件 198

10-1-1 发送UDP数据包 200

10-1-2 接收UDP数据包 202

10-2 IdDayTimeUDP和IdDayTimeUDPServer组件 205

10-2-1 设置DayTime服务 205

10-2-2 使用DayTime服务 206

10-3 IdTimeUDP和IdTimeUDPServer组件 207

10-3-1 提供Time服务 207

10-3-2 使用Time服务 208

10-3-3 实现代码中的启示 208

10-4 IdEchoUDP和IdEchoUDPServer组件 209

10-5 最后的总结 210

Delphi超级Internet控件集–INDY

Required package ‘indy’ not found 该怎么解决?

Required package ‘indy’ not found