This is a simple multi-client chat application built using JavaFX, Sockets, and Threads. It supports real-time messaging, emoji selection, image sharing, and displays user join/leave notifications.
- ✅ Real-time messaging between multiple clients
- 😀 Emoji picker for fun conversations
- 🖼 Image sharing via file picker
- 🔔 Notifications when a user joins or leaves the chat
- 🧵 Multi-threaded server to handle multiple clients simultaneously
- 🎨 User-friendly JavaFX interface
- Jdk-17
- JavaFX
- Sockets (TCP/IP)
- Threads for handling multiple clients
- FXML and SceneBuilder for UI
- CSS for UI styling
- The Server runs on a fixed port (
3001) and listens for incoming client connections. - Each Client connects to the server and is assigned a name.
- Messages, emojis, and images are sent and received through a shared
DataInputStreamandDataOutputStream. - Clients receive:
- Messages from other users
- Notifications when users join or leave the chat
