Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

JAVA CLIENT–SERVER VOTING SYSTEM

Custom multi-threaded client-server voting system in Java supporting TCP communication,
vote management, and request logging.

This project implements a simple voting system as part of a Networks coursework project.
The server maintains voting options and handles multiple client connections concurrently
using a fixed thread pool. Clients can view the current vote counts or cast votes, and all
requests are logged in log.txt. Thread-safe synchronization ensures accurate vote counting
under concurrent access.

FEATURES

  • Multi-threaded server with fixed thread pool
  • TCP socket-based client-server communication
  • Thread-safe vote updates using synchronization
  • Logging of all valid client requests (log.txt)
  • Client commands: list to view votes, vote <option> to cast a vote

TECHNOLOGIES

  • Java
  • TCP Sockets
  • Multi-threading & Executors

LEARNING OUTCOMES

This project demonstrates practical understanding of:

  • Networked client-server architecture
  • Multi-threaded programming and thread safety
  • TCP socket communication
  • Logging and request handling in server applications

About

Java Client–Server Voting System - Multi-threaded network application implementing a TCP-based client and concurrent server using sockets, thread pools, and synchronized vote handling

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages