FREECLIENT
Here we will cover what the GNU.FREE Client-end software does and also provide a brief overview of its classes.
|
What it does |
FreeClient provides a graphical interface via AWT to guide a user through the voting process. This starts with a brief explanation of why GNU.FREE is safe to use before the user is authorised, and thus the software communicates with ERServer.
Then the voting screen is presented, the user makes their choice and is asked to confirm before the vote is sent to RTServer and the program ends. The program could be in a batch file to run again once it quits to make it ready for the next voter.
|
ClientProtocol.java |
This contains the logic for dealing with the packets sent by servers to the client in repsonse to it's sending a packet. It operates on a) the type of packet, and then b) the data in the packet.
|
Comms.java |
Stores some key constants such as the addresses of servers. It is responsible for building packets and sending them to the correct server while dealing with any error conditions. As a consequence it spins off threads for every communications to keep the rest of the system responsive.
|
freeawt.jar |
Contains files supporting the AWT GUI.
|
FCFrame2.java, FCFrame3.java, FCFrame4.java |
Standard AWT-based frames for leading the user through authentication and introducing them to the GNU.FREE system.
|
FClient.java |
The main class, which must be executed for the program to launch. It creates the splash screen, initialises classes and loads the GUI.
|
TCPClient.java |
A threaded class for connecting to servers so that the client can then send and receive packets.
|
TimeOutThread.java |
An extremely simple thread that is started when Comms.java starts a communication. It waits a time set by FClient.timeOutTime before cancelling the transmission. If the communication was successful then the thread is stopped before this timeout can occur.
|
VoteFrame.java |
AWT-based frame where the user chooses which option to vote for. They can then watch the progress of their vote before it is confirmed as having been received and they can end their session.
- Dev Home -
|