Indy provides a set of client- and server-side implementations of internet protocols, as well as utilities for common encodings and general basis for building one's own protocol implementations on top. These are provided as a set of standard VCL components in the original Indy for Delphi and Borland C++ Builder.

IndyJ seeks to provide the same facility to the Java community, which is currently without a comprehensive, extensible and actively maintained set of open-source internet protocol implementations.

This site will grow as the project does, and as I / we, get a more coherent idea of what to say.

General Idea

As well as providing a set of JavaBeans that mirror the functionality of the orginal components IndyJ is trying to construct a flexible and robust API that the Beans are built upon. This approach should yield, on the one hand, a set of Beans that work out of the box and provide the typical functionality required by clients with zero fuss and on the other hand provide a rich framework for more out-of-the-ordinary configurations.

That's the idea, anyway :)


Currently, IndyJ is in the early planning and coding stages. A good deal of the underlying API has been (at least) partly coded, and I am lurching towards getting the basic TCP Client bean, and examples, done. At which point, I'll make them available here, obviously.

For the time being, interfaces are subject to change or dissapear without notice

As things stand, there's a few tens of classes sitting in the project CVS on sourceforge (I'll make the nightly tar-balls available as soon as I can), of varying clarity, quality and functionality. Nothing is gurranteed to compile, let alone work, but you're more than welcome to check it out and play with it. Speaking of which...

Get Involved

Either download IndyJ, or check out the source from CVS:

     cvs login

     cvs -z3 co indyj