A chat application demonstrating core networking principles with:
- Java Sockets for low-level communication
- JavaFX for modern GUI
- Thread-per-client architecture for scalability
Category | Implementation Details |
---|---|
Messaging | Real-time broadcast |
Concurrency | Supports 10+ concurrent users via thread isolation |
GUI | Color-coded messages (User/Server/System), Dynamic user list |
Stability | Graceful disconnection handling, Input validation |
- Compile The Project :
mvn clean compile
- Run the Server :
mvn exec:java -D"exec.mainClass=server.Server"
- Run Clients (in separate terminals)
mvn exec:java -D"exec.mainClass=client.Client"
-
Start the server first
-
Launch multiple client instances
-
Enter a username (3-20 alphanumeric characters)
-
Start chatting in real-time!
-
Type "exit" to leave the chat
pie
title Technology Distribution
"Java Sockets" : 35
"JavaFX GUI" : 30
"Threading" : 25
"Error Handling" : 10
sequenceDiagram
participant Client A
participant Server
participant Client B
Client A->>Server: Connect (Port 1234)
Server->>Client A: UserList
Client A->>Server: Send Message
Server->>Client B: Broadcast Message
Client B->>Server: Typing Notification
- JDK 17+
- JavaFX 19 SDK
🔗 Connect: GitHub | LinkedIn
📧 Contact: [email protected]