Topic Path: Introduction to Indy.Sockets version 10 > Packages and Assemblies
ContentsIndexHome
PreviousUpNext
Packages and Assemblies

An overview of the Packages and Assemblies in the Internet Direct (Indy) source code. 

 

Indy.Sockets Packages

 

The source code in the Indy 10 library has been reorganized into the following packages: 

 

  • IndySystem
  • IndyCore
  • IndyProtocols
  • IndySuperCore (for use with Delphi 7 only)

 

Each package (and the source files used in the package) are stored in separate directories. For example, Delphi 2005 could have Indy package files and source code in the following directories: 

 

C:\Program Files\Borland\BDS\3.0\Source\Indy10\System 
C:\Program Files\Borland\BDS\3.0\Source\Indy10\Core 
C:\Program Files\Borland\BDS\3.0\Source\Indy10\Protocols 

 

Each package includes a run-time .DPK file for Delphi compiler versions 4, 5, 6, 7, 2005 (and beyond). For packages that also include installable IDE components, there is also a design-time .DPK file for Delphi compiler versions 4, 5, 6, 7, 2005 (and beyond). 

The compiler version is used as a suffix in the package file name. For example, Delphi 2005 (compiler version 9.0) uses the suffix '90' in all package file names. 

 

Delphi 5 Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem50.dpk 
n/a 
.\Core 
IndyCore50.dpk 
dclIndyCore50.dpk 
.\Protocols 
IndyProtocols50.dpk 
dclIndyProtocols50.dpk 

 

Delphi 6 Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem60.dpk 
n/a 
.\Core 
IndyCore60.dpk 
dclIndyCore60.dpk 
.\Protocols 
IndyProtocols60.dpk 
dclIndyProtocols60.dpk 

 

Delphi 7 Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem70.dpk 
n/a 
.\Core 
IndyCore70.dpk 
dclIndyCore70.dpk 
.\Protocols 
IndyProtocols70.dpk 
dclIndyProtocols70.dpk 
.\SuperCore 
IndySuperCore70.dpk 
dclIndySuperCore70.dpk 

 

Delphi 2005 VCL Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem90.dpk 
n/a 
.\Core 
IndyCore90.dpk 
dclIndyCore90.dpk 
.\Protocols 
IndyProtocols90.dpk 
dclIndyProtocols90.dpk 

 

Delphi 2005 .NET Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem90Net.dpk 
n/a 
.\Core 
IndyCore90Net.dpk 
dclIndyCore90Net.dpk 
.\Protocols 
IndyProtocols90Net.dpk 
dclIndyProtocols90Net.dpk 

 

Delphi 2006 VCL Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem100.dpk 
n/a 
.\Core 
IndyCore100.dpk 
dclIndyCore100.dpk 
.\Protocols 
IndyProtocols100.dpk 
dclIndyProtocols100.dpk 

 

Delphi 2006 .NET Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem100Net.dpk 
n/a 
.\Core 
IndyCore100Net.dpk 
dclIndyCore100Net.dpk 
.\Protocols 
IndyProtocols100Net.dpk 
dclIndyProtocols100Net.dpk 

 

If you are using a version of Indy.Sockets that is installed along with the Borland Developer Studio 2006 IDE and compilers, the compiler verison suffix is omitted from the package names. For Instance: 

 

Delphi 2006 Borland-Installed .NET Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem.dpk 
n/a 
.\Core 
IndyCore.dpk 
dclIndyCore.dpk 
.\Protocols 
IndyProtocols.dpk 
dclIndyProtocols.dpk 

 

Delphi 2006 Borland-Installed Win32 Packages

 

Path 
Run-time Package 
Design-time Package 
.\System 
IndySystem.dpkw 
n/a 
.\Core 
IndyCore.dpkw 
dclIndyCore.dpkw 
.\Protocols 
IndyProtocols.dpkw 
dclIndyProtocols.dpkw 

 

The IndySystem Package

 

The IndySystem package (IndySystemXX.dpk) provides system-level support for constructs used in the Indy library. For instance: 

 

  • Winsock2 header translations
  • Socket handle classes for supported platforms
  • Stream implementations for VCL and .Net
  • Run-time library support classes for VCL, VCL.Net, and the .Net FCL
  • Utility Classes/Procedures/Functions
  • Exceptions
  • The base component in the Indy library
  • GUI integration classes for blocking socket operations

 

The IndyCore Package

 

The IndyCore package includes the essential base classes and components needed to implement ICMP, TCP, and UDP clients or servers, including: 

 

  • Buffers used for reading and writing in the Indy library
  • An ICMP client
  • A TCP client and server
  • A TCP client and server that implement support for command handlers
  • A UDP client and server
  • IP address classes
  • IOHandlers
  • Intercepts
  • Logging components
  • RFC-compliant message response formats
  • Threads
  • Thread-safe data types
  • A design-time GUI integration class

 

The IndyCore package does not include support for any of the higher-level protocols. 

 

The IndyProtocols Package

 

The IndyProtocols package implements classes need to create and support clients and servers for Internet Standard protocols, like: 

 

HTTP 
QOTD 
FTP 
RSH 
SMTP 
SASL 
NNTP 
SNMP 
POP3 
Socks 
IMAP4 
SysStat 
DNS 
TFTP 
Finger 
WebDAV 
Gopher 
Hashing algorithms 
HL7 
MIME, UUE, and XXE message handling 
Ident 
Encryption and Decryption 
WhoIs 
Compression using ZLib 
SNTP 
Cookies 
Time 
URI 
Echo 
VCard 

 

The IndySuperCore Package

 

The IndySuperCore package provides support for advance functionality available on Windows server platforms for the Fibers API, I/O Completion Ports, and chained IOHandlers. 

The IndySuperCore package is designed to aid in creating more scalable servers where thousands of simultaneous client connections are required. 

Fiber and IOCP APIs are supported only for the Windows 2000, 2003, and XP operating systems using Delphi version 7. Windows 95, 98, and ME are not supported. Delphi compilers prior to version 7 are also unsupported due to critical changes in the VCL since those releases. 

For more detailed information about differences in the implementations for the Indy 9 and Indy 10 libraries, please refer to the "Migrating to Indy 10" section in the documentation. 

 

.Net Assemblies

 

Indy.Sockets is developed using the Delphi programming language (formerly know as Object Pascal). Borland IDE users can compile packages and assemblies using the package files included in the source code for the library. For users on .NET platform that do not include support for the Delphi language (including VS.NET and Mono), the Indy.Sockets.DLL pre-compiled assembly is available from the Indy website. 

 

Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.