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
Screenshot :
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]

