Internet Programming
Which stack shall I choose?
So, you want to write a networking application for the Atari, but you dont really
know where to start? Well, the first thing to decide is what TCP/IP stack to choose
to write for, as they have different interfaces.
The available options are:
- Stik / STiNG.
- These two protocols are compatible at the software level (although STiNG has extra
functionality), so software written for one works with the other. Unfortunately, the
interface is a non-standard proprietary API, rather than an internet-wide standard...
It is however well supported (sort of) on the Atari platform.
- PPP-Connect.
- This is the commercial TCP/IP stack that is supplied with CAB 2.x. As such, it is
difficult to get hold of documentation of how it works, and there isn't much software
for this stack for this very reason.
- MiNT-Net
- This stack is a MiNT implementation of standard POSIX compatible sockets, and so
software can easily be ported from other platforms (even Windoze uses sockets). At the
moment most (but not all) clients for MiNT-Net are ports of standard net applications,
and so are very stable, but are often text based.
IMO, it really isn't a difficult choice - MiNT-Net provides the most portable, standard, free
API / stack currently available. Because it uses internet wide standards, getting help
should be simple. Because of the existing base of stable software for MiNT-Net it has
a reputation for being stable, unlike the other stacks.
So, how do I write a MiNT-Net application?
Well, all you have to do is write a standard socket based application (see below), and link
with the mintnet libs. If you are using GCC, these are supplied with MiNTnet itself.
If you are using another compiler, you will have to compile the library yourself. This shouldn't
be too hard, as the source code is provided.
Lattice C users can use the libraries ported by Craig Graham a while ago - however it
should be remembered that these are from an old version of MiNT-Net (0.7, where 1.01 is
the current version) so be careful. If anyone has ported the lib's to other compilers,
please make them available, and tell me where to get the information.
So whats Socket programming all about?
Well, I really dont see any need to give detailed help on writing a socket based app here,
as there are already many documents on the net detailing this. Also, dont forget that when
you installed MiNT-Net it installed MAN pages for all the functions provided in the libraries.
Check out these pages:
Many of these pages give the same sort info, but if you dont understand one, or like the style,
try another.
So how do I write an xxxx client?
If you want to create a client (or server) for a specific protocol, then the place to look
is at the appropriate RFC ("Request For Comment"). These detail what data is sent where and
in what order for all of the common (and some not so common) protocols.
For a more complete index of RFCs, check out these pages.
This should give enough information to get started with writing a network application
for the Atari. If you do successfully create .net client/servers, please upload them
to the popular FTP sites (eg. pascal.math.fu-berlin.de, ftp.funet.fi), complete
with source code if possible, and post to the Atari newsgroups and relevant email
lists (eg. an announcement to mint@atari.archive.umich.edu would probably be appricated).
Back to the programming pages...
Back to the Atari Pages...
Anthony Jacques : jacquesa@zetnet.co.uk