Multi-thread File Sharing System Tech Stack: Java Sockets, Multi-threading
摘要
With the increased demand for secure and efficient ways to transfer files, peer-to-peer systems have developed as good solutions. Seen with client-server systems, they can be very successful, however, typically suffer from bottlenecks and single points of failure, along with being less efficient for large quantities of data exchange - P2P networks tend to instead successfully allocate workloads over different peer nodes and distributed information along with concurrent and fault-tolerant characteristics. This paper details the design and implementation of a multi-threaded file-sharing system using Java Sockets, multi-threading concepts, and other relevant networking ideas. This system allowed multiple users to exchange files in a secure way over a network efficiently, allowing for concurrency in this system through efficient thread synchronization. Each peer operated independently as both a client and a server, allowing for collaboration and facilitated file transfers across nodes without a central authority.