FREE SOFTWARE ON CAMLCITY.ORG
Internet protocols (http, cgi, email etc.) and helper data structures (mail messages, character sets, etc.)
Ocamlnet implements a number of Internet protocols (http client &
server, cgi and cgi variants, SunRPC, FTP, POP, SMTP) and is a strong
base for web and Internet programming. Many protocols can even be
driven in an asychronous way, since Ocamlnet defines a framework for
asynchronous implementations (equeue). There is also a generic server
framework (netplex). There are a number of accompanying data structures
like mail messages, URLs, buffers, channels, and also routines for
character set conversions.
In particular, Ocamlnet consists of these libraries:
- 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
- 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
- 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 services.
- rpc implements ONCRPC (alias SunRPC), the remote
procedure call technology behind NFS and other Unix services.
- netplex is a generic server framework. It can be used to
build stand-alone server programs from individual components like
those from netcgi2, nethttpd, and rpc. Several such components
can be mixed in a netplex setup.
- netclient implements clients for HTTP (version 1.1, of
course), FTP (currently partially), and Telnet.
- 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 resort to
multi-threading or multi-processing.
- shell is about calling external commands like a Unix shell
- netshm provides shared memory for IPC purposes.
- netsys contains bindings for system functions missing in
- smtp and pop are two further client
implementations for the SMTP and POP3 protocols.
Most Ocamlnet modules are released under the zlib/png license. The HTTP
server module Nethttpd is, however, under the GPL.
||svn at godirepo
The CVS repository at Sourceforge is out of date!