Skip to content

A Distributed Computing course project that implements the server-side application for a P2P messaging system using Java RMI.

Notifications You must be signed in to change notification settings

sergioapi/P2PChatServer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P2P Messaging System Server using Java RMI

This project is part of the Distributed Computing course and involves developing the server-side application of a P2P messaging system using Java RMI. The server application is responsible for managing user registrations, handling client connections, and maintaining the overall communication infrastructure of the system.

Features

  • Client Connections: Accepts connections from multiple clients, notifies other clients of new connections, and informs the newly connected client of online users.
  • User Notifications: Informs all clients when a user connects or disconnects.
  • Direct Messaging: Clients send and receive messages directly without routing through the server.
  • Friend Groups: Manages groups of friends, allowing users to send and receive friend requests and notifications only within their friend group.
  • Persistent Storage: Uses a database to store user information, friend groups, and pending friend requests.

Functionality

  • Notify Clients of New Connections: When a new client connects, the server notifies all connected clients and provides the new client with a list of currently online users.
  • Notify Clients of Disconnections: When a client disconnects, the server notifies all connected clients of the disconnection.
  • Friend Requests: Allows users to send friend requests, even if the recipient is offline. Pending requests are stored on the server and processed when the recipient comes online.
  • Group Management: Users can manage their friend groups, and notifications are sent only to users within the same group.

Credits

This project was developed as part of the Distributed Computing course by Sócrates Agudo Torrado and Sergio Álvarez Piñón

About

A Distributed Computing course project that implements the server-side application for a P2P messaging system using Java RMI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%