This release marks the completion of the distributed Spotify-like architecture. It integrates full location transparency, asynchronous data streaming, and enterprise-grade security.
Key Features Included:
- Hybrid Architecture: Control plane handled via Java RMI, Data plane handled via multi-threaded TCP Sockets.
- End-to-End Encryption: RMI Registry, method invocations, and Callbacks are fully secured using
SslRMIClientSocketFactoryandSslRMIServerSocketFactorywith custom KeyStores. - RMI Callbacks: Bi-directional communication allowing the server to remotely trigger the client's OS Media Player.
- Thread-Safe Concurrency: Robust handling of multiple connected clients using custom
ConcurrentMultiMapandConcurrentHashMapstructures. - File Auditing: Implemented a persistent
.txtlogging system to track stream sessions, IPs, and byte transfers. - Dynamic Preloading: The server automatically scans and loads physical
.mp3and.jpgfiles across dynamic OS paths on startup.
Note: Ensure a valid keystore.jks is generated in the root directory before running the compiled classes.