https://github.com/andyferns/socket-chat-application
A simple mini project aiming to understand and implement socket programming in java
https://github.com/andyferns/socket-chat-application
java socket-programming swing-gui
Last synced: about 1 year ago
JSON representation
A simple mini project aiming to understand and implement socket programming in java
- Host: GitHub
- URL: https://github.com/andyferns/socket-chat-application
- Owner: AndyFerns
- Created: 2025-05-03T19:15:24.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-03T19:20:36.000Z (about 1 year ago)
- Last Synced: 2025-05-03T20:26:00.440Z (about 1 year ago)
- Topics: java, socket-programming, swing-gui
- Language: Java
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java Socket Chat Application π¬
A simple yet modern real-time chat application built in Java using sockets and Swing for GUI. Inspired by Discordβs clean layout, this project demonstrates client-server communication with a stylish dark-themed interface.
## β¨ Features
- π‘ Real-time messaging over TCP sockets
- π€ Username-based login (displays all active users)
- π§ Sidebar showing online users
- πͺ Clean Swing-based GUI
## π Project Structure
chat/
βββ client/
β βββ ChatClient.java
β βββ ChatGUI.java
βββ server/
β βββ ChatServer.java
| βββ ChatHandler.java
## π οΈ Requirements
- Java 8 or higher
- A terminal or IDE that supports Java compilation and execution (duh)
## π How to Run
### 1. Compile all files
```bash
javac chat/server/ChatServer.java chat/client/ChatClient.java chat/client/ChatGUI.java
```
### 2. Start the server
```bash
java chat.server.ChatServer
```
### 3. Start clients (in separate terminals or IDE Windows)
```bash
java chat.client.ChatClient
```
## Concepts covered
- Java Socket Programming (TCP/IP)
- Multi-Threading for handling multiple clients at the same time
- GUI design with Swing
- Message broadcasting and client management