procedure TForm1.btnHttpGetClick(Sender: TObject);
begin
idtcpclnt1.Host := '192.168.10.88';
idtcpclnt1.Port := 80;
idtcpclnt1.Connect();
try
idtcpclnt1.SendCmd('GET /');
self.mmo1.Lines.Clear;
self.mmo1.Lines.Add(idtcpclnt1.CurrentReadBuffer);
finally
idtcpclnt1.Disconnect;
end; end;

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)等开发平台。目前,Indy 的最新正式发行版本是8.0 版,最新
BETA 版本是8.1 版。Indy8.0 支持Delphi 4、Delphi 5、C++BUIDER 4、C++BUIDER 5、Kylix 等版本。
Kylix 已经把Indy 作为标准组件打包到发行包里了。
为了兼顾简单可靠和高效,Indy 是基于阻塞模式工作的。阻塞模式需要等待任务完成才返回,这
样, 当主线程里调用阻塞任务运行时, 程序不能处理用户界面的消息。Indy 提供了一个组件
TidAntiFreeze 来解决这个问题。只要在你的程序里,简单地添加一个TidAntiFreeze 组件到窗体的任意
位置,不需要写任何代码(最多把超时时间改一下),就可以很好地解决用户界面不响应的问题。
Indy 网络组件主要有5 个部分,分别为Indy Clients(客户端)、Indy Servers(服务器)、Indy Intercepts
(中断)、Indy I/O Handle(输入/输出控制)和Indy Misc(杂项),

IdTcpClient简单示例的更多相关文章

  1. Linux下的C Socket编程 -- server端的简单示例

    Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...

  2. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  3. 根据juery CSS点击一个标签弹出一个遮罩层的简单示例

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  5. demo工程的清单文件及activity中api代码简单示例

    第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...

  6. spring-servlet.xml简单示例

    spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...

  7. SignalR 简单示例

    一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...

  8. Web API 简单示例

    一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...

  9. XML引入多scheme文件约束简单示例

    XML引入多scheme文件约束简单示例,用company.xsd和department.xsd来约束company.xml: company.xsd <?xml version="1 ...

随机推荐

  1. 递推DP URAL 1586 Threeprime Numbers

    题目传送门 /* 题意:n位数字,任意连续的三位数字组成的数字是素数,这样的n位数有多少个 最优子结构:考虑3位数的数字,可以枚举出来,第4位是和第3位,第2位组成的数字判断是否是素数 所以,dp[i ...

  2. POJ1061 青蛙的约会(线性同余方程)

    线性同余方程$ ax \equiv b \pmod n$可以用扩展欧几里得算法求解. 这一题假设青蛙们跳t次后相遇,则可列方程: $$ Mt+X \equiv Nt+Y \pmod L$$ $$ (M ...

  3. 通过网页的JS代码启动移动APP

    <span style="font-size:18px;"><script> function startAPP(){ window.location = ...

  4. QDialog, QFileDialog 和 QDesktopServices 的使用方法

    Qt中的QDialog类是用来生成对话框的类,QFileDialog 类是QDialog的衍生类,主要用来生成打开文件,或是打开文件目录的对话框,或者是保存文件的对话框,下面我们一一来看代码: 1. ...

  5. float塌陷有关问题

    程序代码需要用到的CSS样式body{ margin:0px; padding:0px; text-align:center; font:Arial, Helvetica, sans-serif; f ...

  6. 使用Powershell取出属于某些指定组的用户并导出为csv

    知识这东西就像雪球,越滚越大,今天看到了这篇自己1年多前写的博文,简直弱爆了.于是更新一下程序: 2016-6-15更新,短短几行代码,就拿到了组和组成员,其中还用到了递归,以处理组成员是组的情况: ...

  7. Codeforeces 617E XOR and Favorite Number(莫队+小技巧)

    E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes input s ...

  8. shopnc nginx优化配置文件

    user www; worker_processes 2; error_log /var/log/nginx/error.log error; #error_log logs/error.log no ...

  9. discuz全局数组变量 后台各项设置 完整版

    $_G 保存了 Discuz! 中所有的预处理数据 缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可. Discuz! 中所有的缓存保存在 $_G[c ...

  10. Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

    (13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...