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. css 样式 图片平铺整个界面

    比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在css2.1之前是不能被修改的. 所以实际的结果是只能重复显示,所以出现了repeat,repeat-x,repeat-y, ...

  2. chrome inspect 远程调测:Chrome on Android之一 普通调试

    本文PC环境: Chrome: 版本 33.0.1750.22 dev MAC OS:OS X 10.9.1 特别注意:Chrome DevToolsl使用时会联接到appspot.com,而此网址被 ...

  3. 【UVa】11270 Tiling Dominoes

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  4. 【BZOJ】1048: [HAOI2007]分割矩阵

    http://www.lydsy.com/JudgeOnline/problem.php?id=1048 题意:给出一个a×b(a,b<=10)的矩阵,带一个<=100的权值,现在要切割n ...

  5. swift -- 学习记录

    先把疯狂的swift这本书大致看了一遍 2016.7.13 因为实在是太闲,所以决定把公司的应用用swift写一遍 然后顺便看看swift的官方文档 这里有一个官文的中文翻译,感动啊 http://w ...

  6. 对thinkphp静态模板表单提交的理解

    看表单的提交<form action="{$Think.const.__SELF__}"  method="post">...</form&g ...

  7. 涉及 C#的 foreach问题

    当时是用foreach实现遍历,但是函数传入参数是Object类型的,由于Objectl类型没有实现相关接口,所以foreach并不能执行. 那么下面我们来看看,想要使用foreach需要具备什么条件 ...

  8. web接入层 传入参数的格式化及web返回值传出数据的参数格式化,都要统一

    1.web接入层 传入参数的格式化及web返回值传出数据的参数格式化,都要统一. 比如acSpace中, 传入层参数@RequestBody javaBean对象.统一转换为javabean传入参数. ...

  9. Pull解析器学习

    1, package com.service; import java.io.InputStream; import java.io.OutputStream; import java.util.Ar ...

  10. Bootstrap页面布局2 - 包含BS文件

    如图所示: bootstrap布局基于HTML5,为了使IE8以下也能使用某些HTML5的标签,必须要引入文件:http://html5shiv.googlecode.com/svn/trunk/ht ...