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. BZOJ1086 [SCOI2005]王室联邦(树分块)

    把树的结点分块,块内结点连通且个数[b,3b]. 一遍DFS,维护一个栈,设置一个虚拟栈底以保证连通,递归返回时判断栈内元素个数是否大于等于b,是则划分为一个块,最后剩下的与最后一个块划分在一起. h ...

  2. POJ3189 Steady Cow Assignment(最大流)

    题目大概说,有n头牛和b块草地,每头牛心中分别对每块草地都有排名,草地在牛中排名越高牛安排在那的幸福度就越小(...),每块草地都能容纳一定数量的牛.现在要给这n头牛分配草地,牛中的幸福度最大与幸福度 ...

  3. HDU2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)

    与POJ2778一样.这题是求长度不超过n且包含至少一个词根的单词总数. 长度不超过n的单词总数记为Sn,长度不超过n不包含词根的单词总数记为Tn. 答案就是,Sn-Tn. Sn=26+262+263 ...

  4. windows phone7 豆瓣FM

        HubTile参考了下,就做了一个豆瓣的FM应用 豆瓣的API在百度里查一下. 整个应用很简单,无非是解析豆瓣的JSON数据,然后读取,下载图片和歌单

  5. 用java删除文件夹里的所有文件

    import java.io.File; public class Test { public static void main(String args[]){ Test t = new Test() ...

  6. linux开启ssh服务

    本文概略:1)ubuntu发行版开启ssh.2)centos发行版开启ssh 1.ubuntu发行版安装/开启ssh服务 1.1 安装ssh服务端 sudo apt-get install opens ...

  7. Stack and Heap 堆和栈的区别

    在和计算机内存打交道时,我们一定会碰到堆和栈,这两个东西很容易搞混,那么现在就来梳理一下二者的关系. 栈是用来静态分配内存的而堆是动态分配内存的,它们都是存在于计算机内存之中. 栈的分配是在程序编译的 ...

  8. mysql 常用知识

    1.uuid guid UUID是一个由4个连字号(-)将32个字节长的字符串分隔后生成的字符串,总共36个字节长.比如:550e8400-e29b-41d4-a716-446655440000 CH ...

  9. 7. Add a networking service

    Controller Node: 1. sudo vi /etc/nova/nova.conf [DEFAULT] ... network_api_class = nova.network.api.A ...

  10. XML基础知识

    1.XML:(entension mark language) 可扩展的标记语言格式化的文本文件html(Hype Text Mark Language)(超文本标记语言)主要用于显示2.特点 一个良 ...