My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
Ideas  
Ideas
Updated Jul 10, 2009 by muzeraka...@gmail.com

Ideas

  • Use QT Creator to create the GUI and use a CLI interface for the server.
  • 4 threads:
    • TCP (responsible for recieving and processing most of the messages)
    • DB (writes out the array to the DB)
    • Busy (writes busy when the server is busy to any clients attempting to connect. Busyness controlled by variable bool is_busy)
    • Keepalive (disconnects clients that have not sent the keepalive signal for 2 minutes).

Keepalive should not check any TCP by itself, but instead the TCP thread should set a variable for each client (bool ping_sentclient_number) when it has sent a KEEPALIVE. Then this thread should pick that up and reset the timer (int timerclient_number) to 0. This thread's main job will be sleeping; it will increment the timer for each client by 1 every second.

We should build this with hardcoded support for max 50 clients. That sounds resonable to me. Any more than that and the server should do something sensible, and the client should interpret that sensibly.

Powered by Google Project Hosting