On Mon, 27 Oct 2008, Jason Dorje Short wrote:
> Can you elaborate more on the freeciv-web application? What's the
> difference between that and gui-web?
There is one civclient process for each player, while there only
one Freeciv-web webapp instance at one webserver. So each end-user
starts up a HTTP session using their web browser, which communicates
with their own civclient process (compiled with gui-web), using the
Freeciv-web webapp as a proxy. The data is transfered using compressed
the web browser.
[Browser] <-> [Varnish] <-> [Freeciv-web] <-> [civclient] <-> [civserver]
Freeciv-web is a Java web application which serves these functions:
server to the clients.
- Proxy HTTP connections from the web browser of the users to
the civclient processes.
- Compress HTTP traffic.
- Launches civclient processes for the end-users for each new game.
- Reduces the size of server packets to the clients, by sending only
changes (diff's) to the clients. See the DeltaFilter class.
gui-web is a client for the Freeciv server (civserver) and a HTTP server,
which communicates with the end-users web browsers through a HTTP proxy:
Therefore gui-web mostly responds to HTTP requests from clients and builds
There is also a web cache (varnish) in between the web browser and Resin
HTTP server, to reduce the load on the HTTP server.
Freeciv-dev mailing list