Docs GODI Archive
Projects Blog Link DB

Look up function:

(e.g. "List.find" or "keysym")
More options



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 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 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 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.
License: Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL.
Mailing list: at Sourceforge
Repository: svn at godirepo (browsable)
The CVS repository at Sourceforge is out of date!
Homepage: This page
Version 2.2.9:
Download: ocamlnet-2.2.9
Documentation: Ocamlnet 2 Reference Manual
Release Notes
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml