Last updated by George Foot on 09 May 2000


Libnet

Welcome to the home of Libnet!

The purpose of this page is to provide information about Libnet. We have included links to some other networking libraries. Our goal is to provide a simple, not overly complicated, networking library for various platforms.

Well here is the useful stuff:

Download

You can download Libnet in either .zip or .tar.gz format. As of version 0.10.5, the .zip archives are intended for use on DOS systems -- they're in DOS text format and include batch files for compilation on Windows compilers. The .tar.gz files are primarily for Unix systems -- in Unix text format, and without all the batch files. They may be OK for use on DOS/Windows compilers; it depends what sort of utilities you have available. The .zip archives should work fine on Unix systems, if you convert the files to Unix format.

All archives cover all supported platforms (but note the above information) and include all the documentation.

Documentation

The full documentation is included in the archives, in various formats (plain text, Info, HTML and Texinfo source), but if you want to browse the HTML rendering online now then you can do so here.

Note that this online version is from Libnet 0.10.1, so is a little out of date.

Latest News

19 Mar 2000 -- by George Foot
After a long break, I've prepared and uploaded 0.10.6. Many thanks to Peter Wang in particular, for many contributions, suggestions, and comments. There are a few outstanding issues with this upload, but it's been such a long time, I don't want to sit on it for any longer.

Oh, and the gcc 2.9.5 problems in the DOS code should be gone now -- please let me know if it still doesn't build.

30 Jan 2000 -- by George Foot
The new version, 0.10.5, adds support for Mingw32 (thanks to Tarin) and MSVC (thanks to Chad), and also fixes some problems with gcc 2.9.5 under DOS.

I'm still waiting for somebody to write a Win32 frontend for the client-server chat example. Now you have the option of developing it in MingW32 or MSVC! Try to make it portable between the Windows compilers.

21 Nov 1999 -- by George Foot
There was a mistake in 0.10.3 that I've corrected now -- sorry for the delay and inconvenience. The mistake caused the library to fail to compile. This is the only change in 0.10.4. Sometime I'll upload the latest documentation for viewing online.

04 Apr 1999 -- by George Foot
Just uploaded 0.10.3. Lots of changes -- serial driver added, bugs fixed, more documentation improvements, new features, a new example program, etc. See the changes file for details.

01 Apr 1999 -- by George Foot
I've just uploaded Libent 0.10.2. It contains the IPX and Localhost drivers, and working RDMs. Enjoy and share, and send me bug reports. The documentation is a bit lacking -- I need to do the driver list functions, the timer function, and correct some mistakes.

30 Mar 1999 -- by George Foot
Quite a lot has happened this month. Peter Wang has almost finished the DOS-based serial driver. Ralph Deane sent a completed DOS-based IPX driver, and has now written a loopback driver too. I've fixed the problems with RDMs -- there never was a problem, I just misunderstood the way `clock' worked in Linux. Expect an update soon with all these additions.

01 Mar 1999 -- by George Foot
I'm uploading 0.10.1 now; hopefully someone else will be able to find the bugs in the RDM system. See `changes.txt' for details of what has changed. Please let me know if there are any problems with this release.

Peter Wang and Scott Lanning are both interested in writing serial link drivers -- this will be a great addition to the library. It's about time there was a protocol other than UDP/IP!

If anybody knows Win32 programming and uses RSXNTDJ, it would be nice if the client/server chat program could be ported to native Win32!

15 Jan 1999 -- by George Foot
Well, it seems to have been 18 months since the last time this web page was updated, which is rather a long time, so I just brought it up to date a bit. Since the docs are online now (see above), most of this is just restating points they already make -- so for the full story, see the docs.

There is a newer version on my hard disk than the one linked to above, which has what I hoped would be a working RDM system -- but it doesn't work! I don't have too much time at the moment to sort it out, so I might just upload it as it is at some stage and let anyone who is interested debug it themselves.

So what's new since the last update? The most important thing is probably the cross platform support. Libnet now works on many platforms, and using the UDP drivers they can all intercommunicate. This makes it very easy to make a game that compiles for any of DOS, Linux and Windows, and have the different versions network with each other as smoothly as they do with themselves.

There have been some slight API changes, which are noted in the documentation.

The client-server chat example can now use curses and so it works on Unices as well as in DOS. I haven't tried it in Windows.

I began to add network support to my Puzzle Bobble clone using Libnet, but decided to wait until I'd finished the RDM support before going any further with that.

I'm afraid this has been quite a hasty update, since it's something that's needed doing for some time but I don't quite have enough time to do it properly now. Besides, I'm fed up with documenting things at the moment. :)

19 Oct 1997 -- by Chad Catlett
I've returned, but empty handed :( Well I've received a message from George with the latest Libnet. I've been kinda busy lately so the IPX driver still isn't in this release. Villager, a dude from IRC, has been hard at work making a PPP driver for dos! It will provide TCP and UDP! That's it for now....

16 Oct 1997 -- by Chad Catlett
I'll be leaving tomorrow to go hunting, wish me luck :). If you want to try to get the latest info on Libnet you'll probably have to get on #djgpp or #allegro on efnet and try to find gfoot or villager.

What is Libnet?

Libnet is a generic networking API that provides access to several protocols. It is not designed as a 'all in one' solution to networking. Currently many features that are common in some network protocols are not available with Libnet, such as streaming via TCP/IP. We feel that Libnet should not provide specific features that are possible in other protocols. If we restrict Libnet to the minimal needed to communicate (datagram/packets) then this allows it to support more interfaces.

What does it support?

Libnet supports the following platforms and compilers:

Other platforms should be fairly easy to support, especially if GNU CC and GNU Make will run on them.

Libnet supports UDP/IP on Unix, Windows, and DOS in a box under Windows (but only where the Winsock is not version 2.0 or greater). It supports serial linking and IPX networking under DOS, and on all platforms there is a `localhost' driver which is a sort of loopback device.

What protocols will it support?

IPX and serial support in Windows and Unix would be nice, and of course support for Winsock 2 in DOS. And plain DOS internet support. Some of these are being worked on.

Contact information

Links


Last updated by George Foot on 09 May 2000

Valid HTML 3.2! Submit for validation