Skip to content

alty-ir/TCP-Chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCP Chat

Final Project of AUT Computer Network Course - Dr. Sabaei

A Python-based chat application implementing both TCP and UDP protocols for network communication. The application features a graphical user interface built with tkinter and supports multiple concurrent users.

Features

  • Real-time chat functionality using TCP for reliable message delivery
  • UDP broadcast for server discovery
  • Graphical user interface using tkinter
  • Multi-threaded server supporting multiple concurrent connections
  • Automatic port assignment for clients
  • Broadcast messaging system

Requirements

  • Python 3.x
  • tkinter (usually comes with Python installation)

Structure

  • final_server.py - Server implementation with UDP broadcasting and TCP connection handling
  • final_client.py - Client implementation with GUI and network communication logic

How to Run

  1. Start the server:

    python final_server.py
  2. Start one or more clients:

    python final_client.py

The client will automatically discover the server through UDP broadcast and establish a TCP connection.

Technical Details

  • The server uses UDP broadcasting to advertise its presence
  • Clients automatically find a free TCP port for communication
  • Multi-threaded design allows handling multiple client connections simultaneously
  • Reliable message delivery is ensured through TCP protocol
  • GUI provides an intuitive interface for sending and receiving messages

License

See the LICENSE file for details.

About

udp broadcast to find client and then tcp chat

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages