This is the archived Ocamlnet page. The new homepage
can be found here!
Ocamlnet is an ongoing effort to
collect modules, classes and functions that are useful to
implement network protocols. Since version 2.2, Ocamlnet
incorporates the Equeue, RPC, and Netclient libraries,
so it now really a big player.
In detail, the following features are available:
netstring is about processing strings that
occur in network context. Features: MIME encoding/decoding,
Date/time parsing, Character encoding conversion, HTML parsing
and printing, URL parsing and printing, OO-representation of
channels, and a lot more.
netcgi1 and netcgi2 focus on portable
web applications. netcgi1 is the older,
backward-compatible version, whereas netcgi2 bases on
a revised design, and is only partly backward-compatible.
Supported are CGI, FastCGI, AJP (mod_jk), and SCGI.
nethttpd is a web server component (HTTP
server implementation). It can be used for web applications
without using an extra web server, or for serving web
rpc implements ONCRPC (alias SunRPC), the
remote procedure call technology behind NFS and other Unix
netplex is a generic server framework. It can
be used to build stand-alone server programs from individual
components like those from netcgi2, nethttpd,
netclient implements clients for
HTTP (version 1.1, of course), FTP (currently partially), and
equeue is an event queue used for many
protocol implementations. It makes it possible to run
several clients and/or servers in parallel without having
to use multi-threading or multi-processing.
shell is about calling external commands
like a Unix shell does.
netshm provides shared memory for IPC purposes.
netsys contains bindings for system functions
missing in core O'Caml.
smtp and pop are two further client
implementations for the SMTP and POP3 protocols.
There is now a reference manual. It also
includes many introductory texts and tutorials.