This messaging app is built using the TCP protocol and allows users to communicate with each other via broadcast messages and private messages. The app runs locally on the user's machine and consists of two main components: a server application and a client application. Multiple threads are used to handle concurrent connections and messaging functionalities.
-
Broadcast Messages: Users can send messages that will be broadcast to all online users.
-
Private Messages: Users can send private messages to specific online users.
-
Threaded Architecture: The app utilizes multiple threads to handle concurrent connections and managing functionalities efficiently.
-
Server Application: Handles incoming connections from clients, manages user sessions, and facilitates message broadcasting and private messaging.
-
Client Application: Allows users to connect to the server, send messages, and receive messages from other users.
-
Localhost: The app runs on localhost, enabling communication within the user's local network.
Screenshot1
Screenshot2
- Clone the repository to your local machine:
git clone https://github.com/yourusername/messaging-app.git
- Navigate to the project directory:
- Compile and run the server application using maven config:
clean compile exec : java
- Compile and run the client application using maven config:
clean compile exec : java
- check allow multiple instances [modify options tab]
This program requires Java and JavaFX to be installed on the local machine to run. Follow the suggestions in the link to install packages. https://docs.oracle.com/javafx/2/installation/jfxpub-installation.htm
Contributions are welcome! If you have any ideas for improvements or new features, feel free to submit a pull request or open an issue.
This project was created as a CS342 coursework by Micah Olugbamila under the instructions of Prof Evan McCarty.
This project is licensed under the MIT License.