P2P-file-sharing
P2P-file-sharing is a simplified Peer-to-Peer system modeled after Napster, designed for decentralized file search and retrieval. The architecture relies on a central server that manages peer registration and file indexing while peers operate as independent clients handling data transfer. Users join the network by connecting to the server using its IP address and port, then publish available files stored in a local p2p-files directory. When a user searches for a file, the central server identifies owning peers and facilitates the direct connection. Once located, the requesting peer retrieves the file directly from the source peer, bypassing the central server for data transfer. The system fully supports duplex operation, allowing simultaneous uploads and downloads across multiple peers and multiple concurrent transfers. It operates over any file format including PDFs, images like JPG and PNG, and text documents. Built for scalability, the server handles multiple peer connections concurrently, while each clien