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