delphi 网络组件indy-Internet Direct
Indy is an open source client/server communications library that supports TCP/UDP/RAW sockets, as well as over 100 higher level protocols including SMTP, POP3, IMAP, NNTP, HTTP, FTP, and many more. Indy is written in Delphi but is also available for C++Builder and FreePascal.
Indy是一个开源的客户端/服务器通信库,支持TCP/UDP/RAW套接字,以及超过100种高级协议,包括SMTP、POP3、IMAP、NNTP、HTTP、FTP等。Indy是用Delphi编写的,但也可用于C++Builder和FreePascal.
相关资料:http://www.e-iter.net/knowledge/indy9/
TIdUDPServer控件中文指南
从INDY9升级到INDY10的改正方法
1、TIdUDPClient
INDY9:
TIdUDPClient1.SendBuffer(‘127.0.0.1’,9999,Request,SizeOf(Request));
TIdUDPClient1.ReceiveBuffer(ResponseBlock,SizeOf(ResponseBlock));
INDY10:
VAR:Temp:Tbytes;
TIdUDPClient1.SendBuffer(‘127.0.0.1’, 9999, RawToBytes(Request, SizeOf(Request)));
SetLength(Temp, SizeOf(ResponseBlock));
TIdUDPClient1.ReceiveBuffer(Temp);
bytestoraw(Temp, ResponseBlock, SizeOf(ResponseBlock));
2、TIdUDPServer
INDY9:
procedure TfrmMain.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
……
if AData.Size = SizeOf(Request) then
begin
AData.Read(Request,SizeOf(Request));
………
ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,FileInfo,SizeOf(FileInfo));
INDY10:
procedure TfrmMain.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
ABinding: TIdSocketHandle);
…….
if length(AData)= SizeOf(Request) then
begin
//将接收到的Tbytes信息转化为Trequest类型的数据结构Request中
BytesToRaw(AData, Request, SizeOf(TRequest));
ABinding.SendTo(ABinding.PeerIP,ABinding.PeerPort,rawtobytes(FileInfo,SizeOf(FileInfo)));
相关参考:https://blog.51cto.com/u_12668715/8582845
Indy Demo for Delphi7是Delphi 7开发环境中的一个经典项目,它展示了如何使用Indy组件集进行网络通信的开发。Indy是一个强大的开源互联网组件集,适用于Delphi 6、Kylix 1和C++Builder 6及以上版本。以下是对Indy Demo for Delphi7的总结介绍:
1. 技术背景:Indy最初被称为WinShoes(双关于WinSock——Windows的Socket库),由Chad Z. Hower领导的开发者团队开发。
2. 组件功能:Indy提供了一套丰富的网络通信组件,支持多种协议如TCP/IP、UDP等,并允许开发者构建基于各种协议的TCP客户和服务器应用程序。
3. 应用范围:Indy不仅适用于简单的客户端-服务器应用,还支持复杂的多线程网络编程,使得开发者可以高效地处理大量并发连接。
4. 环境要求:Indy组件被包含在Delphi 6,Kylix 1和C++ Builder 6及以上各个版本的Borland开发环境中。
5. 安装与使用:在Delphi 7中,Indy组件共有100多个,通过这些组件,开发者可以开发出跨平台的网络通信应用。
6. 性能优势:Indy组件能够实现与应用程序主线程分离的监听线程来监听客户连接请求,为每个客户创建新的线程提供服务,提高了程序的性能和稳定性。
综上所述,Indy Demo for Delphi7是Delphi 7开发环境中一个不可多得的学习资源,它不仅展示了Indy组件的强大功能,还提供了实际的项目示例,帮助开发者更好地理解和掌握网络通信编程。对于希望深入学习网络通信技术的开发者来说,这个项目是非常有价值的。
相关参考文档下载:
Indy In Depth 中文版.pdf: https://url54.ctfile.com/f/5105654-1515495961-58b111?p=310772 (访问密码: 310772)
indy控件-Delphi 7组件经典解析 — (koic.cn).pdf: https://url54.ctfile.com/f/5105654-1515325717-77f8eb?p=310772 (访问密码: 310772)
UDP聊天-Delphi软件工程案例精解(koic.cn).pdf: https://url54.ctfile.com/f/5105654-1515279286-38c11e?p=310772 (访问密码: 310772)