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? > > -jason
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 and diffed JSON between the civclient process and the javascript code in the web browser. [Browser] <-> [Varnish] <-> [Freeciv-web] <-> [civclient] <-> [civserver] Freeciv-web is a Java web application which serves these functions: - Serve HTML, images, javascript and other website content from the 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: freeciv-web. Therefore gui-web mostly responds to HTTP requests from clients and builds JSON responses which the javascript in the browser understands. There is also a web cache (varnish) in between the web browser and Resin HTTP server, to reduce the load on the HTTP server. - Andreas _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev