Table of Contents
Foreword
0
Part I
Introduction
1
.................................................................................................................................. 1
1
Welcome To the Indy Knowlege Base
.................................................................................................................................. 1
2
Feedback
Part II
General Indy Questions
1
.................................................................................................................................. 1
1
Can I use Indy in my shareware/commercial applications?
.................................................................................................................................. 1
2
What are these "Teams" you have and how can I help?
.................................................................................................................................. 1
3
Where can I find a demo for ___?
Part III
Winshoes
2
.................................................................................................................................. 2
1
What is Winshoes?
.................................................................................................................................. 2
2
Can I use Winshoes 7 and Indy at the same time?
.................................................................................................................................. 2
3
How hard is it to migrate my application from Winshoes 7 to
Indy?
Part IV
Borland Delphi Installlation
2
.................................................................................................................................. 2
1
How do I install Indy into Borland Delphi?
.................................................................................................................................. 3
2
How do I install Indy 8.0 in Delphi 6 Personal Edition?
.................................................................................................................................. 3
3
In Indy 9.0, I am getting the error "Error on loading Winsock2
library (WS2_32.DLL)" and it only occurs on Win95 machines.
.................................................................................................................................. 3
4
When I try to compile my application that uses Indy it says it
cannot find Indy.dcu or some other file?
.................................................................................................................................. 3
5
When I attempt to setup Indy on a fresh copy of Delphi 4.0, it fails
to compile?
.................................................................................................................................. 3
6
When I try to compile Delphi says it cannot find SyncObjs?
.................................................................................................................................. 3
7
After installing Indy, I am getting an error message such as: "The
procedure entry point
@Idglobal@Fetch$qqrr175System@AnsiStringxoxo could not be
located in the dynamic link library Indy60.bpl
.................................................................................................................................. 4
8
After installing Indy, I get a "A device attached to the system is
not functioning." when loading another package. What do I do
about it?
.................................................................................................................................. 4
9
Why do you change the Indy API between major Indy versions?
.................................................................................................................................. 4
10
How hard is it to upgrade my code to the latest version of Indy?
Part V
Borland C++ Builder Installation
4
.................................................................................................................................. 4
1
How do I install Indy into Borland C++ Builder?
II
Contents
II
© 2003-2005 Chad Z. Hower and the Indy Pit Crew
.................................................................................................................................. 5
2
I tried to install Indy 8.0 in Borland C++ Builder and got missing
package errors - the files seem to listed okay in the Indy source
directory.
.................................................................................................................................. 6
3
In Indy 9.0, there is no IndyC60.bpk. What do I do to get Indy to
work with C++Builder 6?
Part VI
Exceptions
6
.................................................................................................................................. 6
1
Why does Indy raise exceptions as part of its normal operation?
.................................................................................................................................. 7
2
Why do I keep getting EIdConnClosedGracefully exceptions?
.................................................................................................................................. 7
3
Why do I get 10038 exceptions raised when I shut down my
servers?
.................................................................................................................................. 8
4
When I connect with TIdLPR or TIdRSH, I get a
EIdSocketException saying "Socket Error # 10048 Address
already in use." Why?
Part VII
Socket Programming (Winsock)
8
.................................................................................................................................. 8
1
What is the difference between blocking and non-blocking
sockets?
.................................................................................................................................. 8
2
Where can I find Socket error messages explanations, like
Socket error 10057?
.................................................................................................................................. 9
3
What is an "RFC" and where do I find them?
Part VIII
Firewalls and Proxies
9
.................................................................................................................................. 9
1
How do I use Indy with a Proxy?
.................................................................................................................................. 10
2
How do I use a TIdFTP with a FTP Proxy?
.................................................................................................................................. 10
3
How do I use a TIdFTP with a SOCKS proxy?
.................................................................................................................................. 11
4
How do I use a TIdHTTP with a HTTP Proxy?
.................................................................................................................................. 12
5
How do I use a TIdTCPClient with a HTTP Tunneling Proxy?
.................................................................................................................................. 12
6
How do I use a TIdTCPClient with a SOCKS Proxy?
.................................................................................................................................. 13
7
How do I use a TIdUDPClient with a SOCKS Proxy?
.................................................................................................................................. 13
8
How do I use Indy with a NAT (Network Address Translator)?
.................................................................................................................................. 14
9
How do I use FTP with SSL behind a NAT?
.................................................................................................................................. 15
10
What should I do if I do not know what proxy a user will need to
use and what the correct settings are?
Part IX
Server
15
.................................................................................................................................. 15
1
How can I send a record using Indy?
.................................................................................................................................. 16
2
How can I send a file using Indy?
.................................................................................................................................. 16
3
Is it safe to access a database connection in a
TIdTCPServer.OnExecute event?
.................................................................................................................................. 16
4
IHow do I get the Peer's IP Address in the TIdTCPServer?
Part X
Ping, ICMP (Internet Control Message
Protocol), Raw Sockets
17
Indy Knowlege Base
III
© 2003-2005 Chad Z. Hower and the Indy Pit Crew
.................................................................................................................................. 17
1
I can not ping with Indy on Windows NT or Windows 2000. What
do I do about this?
.................................................................................................................................. 17
2
I can not ping with Indy using Linux. What do I do about this?
Part XI
SMTP (Simple Mail Transport Protocol) and
E-Mail
17
.................................................................................................................................. 17
1
How can I send / receive HTML email?
.................................................................................................................................. 17
2
How can I send or receive mail attachments?
.................................................................................................................................. 18
3
Whenever I do a LoadFromFile or a LoadFromStream, I get an
EIdReadTimeout exception. What am I doing wrong?
.................................................................................................................................. 18
4
How do I send mail directly to a recipients mail server?
.................................................................................................................................. 19
5
How do I send emails through a SMTP server that require
authentication?
.................................................................................................................................. 20
6
I am using the TIdSMTP but when I try to send mail I get an error
message such as: "521 potserver.organization.com access
denied" or "'572 Relay Not Authorized."
.................................................................................................................................. 20
7
I am using the TIdSMTP but when I try to send mail I get an error
message such as: "530 Must issue a STARTTLS command first"
.................................................................................................................................. 21
8
In C++Builder, a class methods such as TIdSMTP.QuickSend
require an extra parameter. What parameter should I pass?
.................................................................................................................................. 21
9
Where can I find examples for using the SMTP / POP3 server
components?
.................................................................................................................................. 21
10
Why doesn't the MAPS Demo work anymore?
.................................................................................................................................. 21
11
A SMTP server is treating E-Mail from my program as if it was
spam or the server rejects it with a 554 error. I don't have any
problems with Outlook. How do I fix this?
.................................................................................................................................. 22
12
But that still does not help with SpamAssassin. What now?
Part XII
SSL (Secure Sockets Layer) or TLS (Transport
Layer Security)
22
.................................................................................................................................. 22
1
Can I legally use and/or export software that uses Indy's SSL
capabilities?
.................................................................................................................................. 22
2
Where can I download Indy's SSL support .DLL's and
source-code?
.................................................................................................................................. 22
3
I need SSL help, where can I find answers?
.................................................................................................................................. 23
4
How do I use FTP with SSL?
.................................................................................................................................. 24
5
What is the difference between implicit TLS and explicit TLS?
Part XIII
FTP (File Transfer Protocol)
24
.................................................................................................................................. 24
1
With some servers, when I try to abort a transfer, the client is
automatically disconnected from the server, instead of aborting
just the transfer. Is this an Indy bug?
.................................................................................................................................. 25
2
How do I obtain the size of a file I am about to download with
TIdFTP?
IV
Contents
IV
© 2003-2005 Chad Z. Hower and the Indy Pit Crew
.................................................................................................................................. 25
3
I want to download files only if they have been modified on the
server by comparing the date and time. How do I do this with
Indy?
.................................................................................................................................. 26
4
In TIdFTP, is there a method to parse the contents of the List
result, so I can use a ListView component to display the
directory?
.................................................................................................................................. 27
5
When using the TIdFTP.SetModTime function, why do I get a "no
such file or directory" but the file exists.
Part XIV
HTTP (Hypertext Transfer Protocol)
28
.................................................................................................................................. 28
1
I am getting a 403 Forbidden error with some sites while they
work fine with Opera, Netscape Communicator, or Internet
Explorer. How do I fix this?
Part XV
IP Multicasting
28
.................................................................................................................................. 28
1
TTIdIPMCastClient and TIdIPMCastServer do not work on Linux?
Part XVI
Migrating to Indy 10
28
.................................................................................................................................. 28
1
Where is the Intercept property?
.................................................................................................................................. 29
2
TIdFTP.DirectoryListing is returning nothing for my FTP server.
Why?
.................................................................................................................................. 29
3
Where is the TIdPOP3.APOP property?
Part XVII
Miscellaneous Topics
29
.................................................................................................................................. 29
1
Why did the chicken cross the road?
Part XVIII
For Further Reading
30
.................................................................................................................................. 30
1
Indy Introductory Articles
.................................................................................................................................. 31
2
Socket Programming
.................................................................................................................................. 31
3
RFCs (Request for Comments) and Internet Drafts
.................................................................................................................................. 32
4
Indy Exceptions
.................................................................................................................................. 32
5
HTTP (Hypertext Transfer Protocol)
.................................................................................................................................. 32
6
SSL (Secure Sockets Layer) or TLS (Transport Layer Security)
.................................................................................................................................. 33
7
Web Services
.................................................................................................................................. 33
8
Other Indy Websites
Index
34