A multi-threaded client-server chat application implementing real-time message broadcasting and command-based control for both client and server consoles.
Tech Stack
- Language: Java
- Framework: OCSF (for developing TCP-based client-server applications)
- Networking: Socket Programming, Multi-threading
- Tools: Git, GitHub, Eclipse IDE
Features
| Client | Server |
|---|---|
| Graceful server disconnect handling | Client connect/disconnect notifications |
| Custom port configuration | Console input with message broadcasting |
Commands: #quit, #logoff, #login, #sethost <host>, #setport <port>, #gethost, #getport |
Commands: #quit, #stop, #close, #start, #setport <port>, #getport |
| Login ID connection | Login ID tracking per client |
# Start the server
java EchoServer <port>
# Start a client
java ClientConsole <loginid> <host (optional)> <port (optional)>
Built as part of SEG2105 (Intro to Software Engineering) in the Fall of 2025