Skip to content

Developed a Python-based client-server chatroom using TCP sockets. Supported real-time messaging, file sharing, and active user management with a structured JSON protocol. Limited to 3 concurrent users with chat history and file transfer features.

License

Notifications You must be signed in to change notification settings

Doremegalul/Client_Server_Chatroom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Client Server Chatroom

This project is a client-server chatroom application built with Python and TCP socket programming. It supports real-time text messaging, chat history, and file sharing between up to three concurrent users. Each user runs a client.py instance and connects to a central server.py instance, which manages user sessions, message broadcasting, and file transfer.

  • Socket Programming: Implements a multithreaded server and multiple clients communicating over TCP (port 18000).
  • Structured Messaging: Uses a JSON-based message protocol with flags for actions like JOIN, QUIT, MESSAGE, REPORT, and FILE.
  • Real-Time Chat: Clients can send/receive messages in real time. All chat history is stored and shown to new users upon joining.
  • File Sharing: Clients can upload .txt files (and optionally images for extra credit) that are broadcast to other users and saved locally.
  • Access Control: Limits chatroom to a maximum of 3 active users and ensures unique usernames.

NOTE: This project is for learning purposes only. Do not copy or submit as your own in any academic setting.

About

Developed a Python-based client-server chatroom using TCP sockets. Supported real-time messaging, file sharing, and active user management with a structured JSON protocol. Limited to 3 concurrent users with chat history and file transfer features.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages