
This directory contains the client/server code to allow yacas
to run over a network.


executables that are built:

echoserver : creates socket localhost:9734, and echos any string
             sent to it

yacasserversingle : also a server at localhost:9734. passes the string to
              yacas, and the result is sent back. This is the
              singlethreaded server that connects to the outside
              world, handling requests. This is the best choice if
              requests can be handled quickly, or there are 
              side effects generated by calling ygi scripts.

yacasserverthread : also a server at localhost:9734. passes the string to
              yacas, and the result is sent back. This is the
              multithreaded server that connects to the outside
              world, handling requests. This is the best choice if
              there are no side effects from getting a page, but
              getting the page might take some time. So this would
              be the choice when running a Yacas server as a calculator.

yacasdbaseserver : same as yacasserver, but through a local socket and
              NOT multithreaded. This server is used as the database
              server (only one thread will have access to the database
              at any time). Optionally you can specify the socket name
              as the first argument on the command line.

client :      client that connects to the server yacasserver at
              localhost:9734. Optionally you can specify the socket name
              as the first argument on the command line.

localclient : Same as client, but connecting to dbaseserver.
              Optionally you can specify the socket name
              as the first argument on the command line.

stopservers : stops yacasserver and dbaseserver. This has to be typed
              in from the directory that dbaseserver was started from.

How to use:
- first build yacas
- now go to this server/ directory, and type 'make'
- go to the data directory:
  'cd data'
- start up ./launchserver. This launches the yacasserver, which is basically
  a multithreaded http server connecting to socket 9734, and dbaseserver, which
  is a singlethreaded server that directly accepts yacas input, and sends
  back the input in quoted form. This command will also fire up netscape
  for you, with the main entry page for the web version of Yacas.
  Enter an expression, and see the result!


Note: the files are retrieved from the directory the server was
started in. Subdirectories are not allowed. The *.ygi (Yacas Gateway
Interface) scripts are launched from the subdirectory ./ygi_bin/



