Chat Python
A concurrent multi-user chat room system using socket programming
Project Description
This project implements a robust client-server chat system in Python. It enables multiple clients to connect to a central server and exchange messages in real-time within a shared chat room environment.
Core Functionality
- Concurrent client handling via threading
- Real-time message broadcasting
- Dynamic nickname assignment and management
- Graphical User Interface for clients
Server Architecture
The server acts as the central hub, managing socket connections and message distribution.
- Listens for incoming TCP connections
- Spawns a new thread for each connected client
- Broadcasts messages from one client to all others
- Maintains a registry of active users
Client Application
The client provides an intuitive interface for users to interact with the chat room.
- Threaded message reception (non-blocking UI)
- Tkinter-based GUI for message display and input
- Automatic connection handling and protocol management
Technologies Used
Language: Python 3.
Networking: socket library for TCP communication.
Concurrency: threading for parallel request handling.
GUI: tkinter for the client interface.
Link repo: GitHub