A Python-based chat application utilizing UDP Socket Programming with a Tkinter GUI for real-time communication between a server and multiple clients. It supports lightweight messaging, multi-client connections, threading for non-blocking I/O, and message broadcasting.
- UDP Protocol for fast, lightweight communication.
- Multi-client Support for simultaneous messaging.
- Graphical User Interface (GUI) built with
Tkinter. - Threaded Operations to maintain a responsive interface.
- Message Broadcasting by the server to all connected clients.
- Python 3.6 or later
- Required libraries:
socketthreadingtkinter
- Run
server.py. - The server GUI will open, displaying message logs and providing an input box for messages.
- Run
client.py. - Enter a unique port number for the client connection.
- The client GUI will open, allowing messages to be sent and received.
- The server listens for client messages and broadcasts responses to all connected clients.
- Each client sends messages to the server and receives broadcasts.
- Threading ensures smooth GUI operation without blocking network tasks.
- Single Client Interaction:
- A client sends a message to the server, and the server replies.
- Multiple Client Interaction:
- Multiple clients connect, send messages, and receive broadcasts.
server.py: Manages server operations, client connections, and message broadcasting.client.py: Handles client connections, sending messages, and receiving broadcasts.
- GeeksforGeeks: UDP Client-Server using CONNECT
- Hamonangan Situmorang, Diktat Kuliah Pemrograman Berorientasi Objek, Edunex ITB.