1. procedure TForm1.btnHttpGetClick(Sender: TObject);
  2. begin
  3. idtcpclnt1.Host := '192.168.10.88';
  4. idtcpclnt1.Port := 80;
  5. idtcpclnt1.Connect();
  6. try
  7. idtcpclnt1.SendCmd('GET /');
  8. self.mmo1.Lines.Clear;
  9. self.mmo1.Lines.Add(idtcpclnt1.CurrentReadBuffer);
  10. finally
  11. idtcpclnt1.Disconnect;
  12. end;
  13.  
  14. 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. Oracle 使用小计(3)

      1.出错处理 ORA-00911: invalid character. 这是因为在语句末尾加上了";"的缘故,去掉";"SQL就可以执行了~ (这与SQL ...

  2. android Intent.ACTION_SEND

    ACTION_SEND intent 可以把自己的应用添加到系统的发送(分享)列表中. <intent-filter> <action android:name="andr ...

  3. HDU 4417 (划分树+区间小于k统计)

    题目链接:  http://acm.hdu.edu.cn/showproblem.php?pid=4417 题目大意:给定一个区间,以及一个k值,求该区间内小于等于k值的数的个数.注意区间是从0开始的 ...

  4. NOIp 2006 作业调度方案 Label:坑 模拟(tyvj你不给我ac,我就把名字献给附中oj)

    福建师大附中链接:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1211 [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序 ...

  5. 【BZOJ】3339: Rmq Problem & 3585: mex(线段树+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3585 好神的题. 但是!!!!!!!!!!!!!!我线段树现在要开8倍空间才能过!!!!!!!!!! ...

  6. Quartz与Spring整合进行热部署的实现(一)

    先来几张实现图 任务管理页 新建任务管理.目前实现叫简单的需求...若各位同学要实现复杂的设计...quartz都有提供强大的支持.小弟目前的需求做到这已经够用了. 接下来.我们如何实现quartz的 ...

  7. mysql时该如何估算内存的消耗,公式如何计算?

    经常有人问配置mysql时该如何估算内存的消耗.那么该使用什么公式来计算呢? 关心内存怎么使用的原因是可以理解的.如果配置mysql服务器使用太少的内存会导致性能不是最优的;如果配置了太多的内存则会导 ...

  8. 滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks 之

    一个莫名其妙的问题:错误 滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks 之间. 参数名:ticks.这 网上找了很多,都没有一个正 ...

  9. [转]禁用和启用链接(a元素|LinkButton)的js方法

    本文转自:http://www.cnblogs.com/beiguren/archive/2010/05/24/1742926.html 在Asp.net中,有时候需要禁用掉一个a链接元素. 在服务器 ...

  10. 按月将Windows日志导出至CSV文件

    # 这个月的第一天 #..........................................到这里之前是取当年第一天 #(Get-Date 0).AddYears((Get-Date). ...