This project is a multi-threaded TCP chat application built in Java, leveraging the Sockets API for client-server communication and Java Swing for the graphical user interface (GUI). It was developed as a group project for the CS313 networking course.
The application uses a client-server architecture where the server manages multiple client connections concurrently through multi-threading. Each client can send and receive messages in real-time via a TCP connection. The chat system is enhanced with a GUI created using Java Swing, providing users with an intuitive interface to interact with the application.
- Multi-threaded server: Efficiently manages concurrent client connections, ensuring smooth real-time messaging.
- Reliable communication: Utilizes the Sockets API with TCP for robust and dependable message transfer.
- Interactive GUI: Java Swing provides a clean and user-friendly interface for chat interactions.
- Real-time messaging: Facilitates immediate message exchange between connected clients.
This project demonstrates essential concepts in networking, multi-threading, and GUI development, showcasing how these technologies can be integrated to create a functional and interactive application.
cd src/main/java
chmod +x build.sh
./build.sh# In src/main/java
# If not: cd src/main/java
java TCPChatApp server <IP Address> <Port># In src/main/java
# If not: cd src/main/java
java TCPChatApp clientUSEFUL RESOURCES:
Chat Server Design Documentation
RW354 Project 1 implementation example