What is Internet Component Suite (ICS)?
ICS is an online component library for many Delphi, C++Builder, BDS, and RAD Studio variations (win32). It includes TCP, UDP, raw sockets, customers, servers, in addition to several high-level protocols like FTP, SMTP, POP3, NNTP, HTTP, and much more. ICS also supports SSL and TLS with the Support of OpenSSL.
ICS is a Delphi library written of numerous online components supporting all significant protocols and software. All elements are event-driven and non-blocking, with obstructing versions for easier applications.
The Internet Component Suite is made up of different Internet components and software. It's distributed as freeware with complete source code for all Delphi and C++Builder versions. The sample software exists in two types: Object Pascal for Delphi and C++ to get C++Builder. The elements are written in Object Pascal native VCL that Delphi and C++Builder could compile. There's a wiki under construction here in which you will discover documentation.
Internet Component Suite (ICS) Great Features:
Below you'll find the links to download ICS/ICS-SSL distribution archives. You can find the latest source on the version control repository and an archive extracted daily from the repository here: ICS-V8.
TWSocket Basic Winsock component. Fully event-driven and multi-thread safe. It supports TCP, UDP, SOCKS5 and can be used to build both client and server programs. Option: SSL support. Click here for a primer text about TCP and UDP.
TWSocketServer A TWSocket derived component for multi-user server handling. Option: SSL support.
TSmtpCli SMTP client protocol support. Used to send mail and attached files to a mail server.
TPop3Cli POP3 client protocol support. Used to retrieve mail form a mail server.
TDnsQuery DNS query component is used to retrieve MX records (Mail Exchange, needed for most SMTP applications) from DNS, as well as A records (IP address from hostname) and PTR records (hostname from IP address) records.
TMimeDecode Supports MIME decoding (file attachments). Useful with the TPop3Cli component.
TFtpCli FTP client protocol support. Used to send and receive files to/from an FTP server. Also able to do directory and file handling.
TFtpSrv FTP server protocol support. This component will make your application a fully featured FTP server—Beta version.
TNntpCli NNTP client protocol support. Used to read and post news to/from a newsgroup server.
THttpCli HTTP client protocol support. Used to access any WEB server for getting or posting data. Base component to building a web browser. Includes Proxy support. Option: HTTPS support (Secure SSL communication).
THttpSrv HTTP server protocol support. Used to build a web server or to add a browser interface to your application. Option: HTTPS support (Secure SSL communication).
TTnCnx TELNET client protocol support.
TEmulVT ANSI terminal emulation (like a TMemo but with ANSI escape sequences interpretation).
TTnEmulVT TELNET and ANSI terminal emulation combined into a single component. You can build a full telnet client program in only a few lines of code.
TTnScript TELNET scripting component. Used to automate work with telnet session (such as auto-login and password).
TFingerCli FINGER client. Use it to retrieve information about logged users connected to a Unix machine (or any other with a finger server).
TPing ICMP Ping support. You can Ping a host and get the resulting info.
Client5 A basic client program using the TWSocket component. Use with any of the server applications described below.
TcpSrv A basic multi-user server. Start all your TCP servers from this sample.
DnsLook How to use TWSocket DNS lookup feature.
Finger A Finger client using TFingerCli component.
FtpTst A full-featured FTP client based on the TFtpCli component.
FtpSrv A full-featured FTP server based on the TFtpSrv component.
HttpPg Use the THttpCli component to post some data to a web server.
HttpTst Basic THttpCli component use. Not very useful, but it demonstrates most component features.
WebServ A THttpSrv component is used to build a webserver.
MtSrv Basic multi-threaded server using TWSocket. Accept any number of simultaneous clients, servicing each one in a thread—the base for any real-world server. See also TnSrv (event-driven) and MidWare for a complete client/server framework.
NewsRdr A basic newsreader using the TNntpCli component.
PingTst A ping program using TPing component.
MimeDemo Show how to use the TMimeDecode to decode EMails received with the TPop3Cli component. You can display or save the message and all its attached files.
Server A basic yet complete event-driven server using TWSocket. Can support any number of clients. The server fetches some data from a TTable at the client's request.
MailRcv A basic POP3 client program. Demonstrate most TPop3Cli features. Quite useful. It can be the base for a real EMail program if merged with the MailSnd program (see below).
MailSnd A basic SMTP program (send mail). Quite useful. It can be the base for a real EMail program if merged with the MailRcv program (see above).
NsLookup Show how to use the DNS query component to retrieve MX, A, and PTR records directly from DNS.
TnClient A full-featured TELNET client program with ANSI terminal emulation.
TnDemo A TELNET client using a TMemo to display incoming data.
TnSrv A basic event-driven server. Can support any number of concurrent clients. The base for any real-world server. See also TcpSrv, MtSrv (multi-threaded) and MidWare for a complete client/server framework.
TWSChat A full-featured CHAT program, both client and server. It's a good demonstration of many TWSocket features.
UdpLstn A UDP server demo. It listens for UDP messages on a given port and displays them.
UdpSend A UDP client demo. It sends or broadcasts UDP messages to a given port.
SocksTst A simple client program showing how to use the SOCKS5 protocol to traverse a firewall or proxy like WinGate.
ConCli Actually 2 console mode applications showing how to use TWSocket into console mode client applications.
ConSrv Much like the TnSrv sample program, using console mode application (useful to write a daemon or service).
Sell Shows how to build DLL with a TWSocket. The sample DLL connect to the TcpSrv sample program to get the date/time. A sample demo application shows how to call the DLL.
DynCli an elementary client program showing how to use a dynamically created TWSocket component.