A server framework for the Guile 2.0 Scheme interpreter derived from the GNU Serveez project.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
doc
m4
src
test
.gitignore
AUTHORS
COPYING
ChangeLog
Makefile.am
NEWS
README
THANKS
configure.ac
coverage.sh

README

--
-- README
--
-- Copyright (C) 2011 Michael Gran <spk121@yahoo.com>
-- Copyright (C) 2000, 2001, 2002, 2003 Stefan Jahn <stefan@lkcc.org>
-- Copyright (C) 2000 Raimund Jacob <raimi@lkcc.org>
-- Copyright (C) 1999 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
--
-- This is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3, or (at your option)
-- any later version.
--
-- This software is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this package.  If not, see <http://www.gnu.org/licenses/>.
--


Description
===========

Serveez-MG is a Guile server framework.  It provides routines and help
for implementing IP based servers (currently TCP, UDP and ICMP).  It
is also possible to use named pipes for all connection oriented
protocols.

Many people need server functionality within their applications.
However, many people experience problems with select()- or
poll()-loops, and with non-blocking operations.

This application demonstrates various aspects of advanced network
programming.

You can use it for implementing your own servers or for understanding how
certain network services and operations work.

The package includes a couple of servers that work already: an HTTP
server, for example.  One of the highlights is that you can run
multiple protocols on the same port.  The application itself is single
threaded but it uses helper processes for concurrent name resolution
and ident lookups.

Serveez-MG was based on a much grander effort called GNU Serveez, which
aimed to be a generic server framework for multiple architectures.  It
can still be found on the http://www.gnu.org/software/serveez .
Unfortunately, it has not been updated in many years.


Requirements
============

Serveez-MG needs GNU Guile (Ubiquitous Intelligent Language for Extensions). 
This current version is known to work with Guile 2.0.6 and later.


Installation
============

Unpack the distribution tarball:

    $ tar xvzf serveez-mg-<version>.tar.gz               (using GNU tar)
    $ gzip -cd serveez-mg-<version>.tar.gz | tar xvf -   (using another tar)
  
Change into the source directory:

    $ cd serveez-mg-<version>
  
Configure the source package for your system:

    $ ./configure

Now compile the package:

    $ make
  
Install Serveez-MG:

    $ make install

You must have root privileges if you want to install the package in the
standard location (/usr/local) or in any location that is only writable 
by root.

If you have problems building the package out of the box, this is not
surprising.  This program has not been tested on a variety of
platforms, yet.

For further information on installing the package, please consult the
file INSTALL included in this distribution.


Getting the latest Git snapshot
===============================

You can always get the latest Serveez-MG version from its Git
repository.  The Git version is not guaranteed to work and might
not even compile.

The current repository is at git://github.com/spk121/serveez-mg.git

You can browse it at http://github.com/spk121/serveez-mg