File: README

package info (click to toggle)
serveez 0.1.5-2.0.etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 4,564 kB
  • ctags: 3,698
  • sloc: ansic: 34,819; sh: 8,507; lisp: 1,633; awk: 392; perl: 376; makefile: 335
file content (110 lines) | stat: -rw-r--r-- 3,984 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
-- 
-- README
-- 
-- 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 2, 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; see the file COPYING.  If not, write to
-- the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-- Boston, MA 02111-1307, USA.  
--


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

Serveez is a 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.

We think it is worth the effort because 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 in a portable manner.  It is known to compile and run on 
GNU/Linux systems, as well as on other 32-bit and 64-bit flavours of Unix 
and on Microsoft Windows (9x/ME/NT/2000/XP).

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

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


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

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


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

Unpack the distribution tarball:

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

    $ cd serveez-<version>
  
Configure the source package for your system:
We recommend to use --enable-opt unless you have a good reason not to do so.

    $ ./configure --enable-opt

Now compile the package:

    $ make
  
Install Serveez:

    $ 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 due to
GNU libtool's inability to handle dynamic linking in most cases.  That is
why we recommend to try and configure the package with `--disable-shared'
and/or the native compiler (if any).  When the build process is not able to 
link against an existing Guile installation you can try to use the
`--with-guile-source=DIR' configure option.

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


Getting the latest CVS snapshot
===============================

You can always get the latest Serveez version from our CVS repository.
Please use an official release if you want to work with Serveez.  The CVS
version might not even compile.

    $ cvs -z3 -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/serveez \
      co serveez

Press 'Enter' when asked for a password.  Run `sh autogen.sh' and
`configure' with the appropriate options.  Maintainance currently
requires Autoconf version 2.57, GNU libtool 1.5 and GNU automake 1.7.5.