13 — Remote Proxying
Due Sunday, 17 April, midnight
Added in version 1.0.
At this time, you have a complete game system that runs in a single process on a single computer. You can now apply a systematic procedure to derive a distributed client-server framework. Your software architect is asking you to replace dealers with proxy dealers that know how to communicate with the central server, enabling these systems to run on a client computer anywhere on the network. On the server side, the players are replaced with proxy players that know how to connect to clients via TCP.
Your architect has derived a Remote Protocol from the protocol API. This should enable you to create a complete distributed game system. After that, you can publish the remote protocol and API, and your board-game platform will be up and running.
Important For distributed systems such as this one, it is critical, not just optional, that you can time-out clients so that your overall system does not hang due to a single misbehaving client system.
an Evolution game server
an Evolution game client
Final Code Walk The final code walks will focus on the game system and/or the distributed client-server system. Be prepared to connect several of your clients to someone else’s server and vice versa.