Internetkommunikation_Project_Gruppe4 is a modern chat application developed with Python and PySide6, supporting multi-user real-time communication, group management, message translation, reminder functionality, and other features.
python run_server.pyOptional parameters:
python run_server.py --serverid Server_4 --udpport 9999 --tcpport 65433Note: You can also use server.py directly for more detailed configuration:
python server/server.py --serverid Server_5 --udpport 65432 --tcpport 65433python run_client.py# Server
cd server
python server.py --serverid Server_4 --udpport 9999 --tcpport 65433
# Client
cd client
python client.pyCustom Configuration Example:
# Use different server ID and ports
python server/server.py --serverid Server_5 --udpport 65432 --tcpport 65433internetkommunikation_project_gruppe4/
βββ run_client.py # Client startup script
βββ run_server.py # Server startup script
βββ client/ # Client code
β βββ client.py # Main client (recommended)
β βββ client_1.py # Basic client
β βββ client_2.py # Client version 2
β βββ client_3.py # Client version 3
β βββ client_1_modern.py # Modern client
β βββ gui/ # GUI components
β βββ ui/ # UI files
βββ server/ # Server code
β βββ server.py # Server startup
β βββ server_network.py # Network communication
β βββ server_ui.py # Server UI
β βββ modern_server_ui.py # Modern server UI
βββ modules/ # Feature modules
β βββ PackingandUnpacking.py # Message packing/unpacking
β βββ Translator.py # Translation functionality
β βββ reminder.py # Reminder system
β βββ tips_widget.py # Tips component
βββ proto/ # Protocol definitions
βββ docs/ # Documentation
βββ requirements.txt # Dependency configuration
pip install -r requirements.txt- Multi-user real-time message communication
- Group chat functionality
- Message history records
- Online status display
- TCP/UDP hybrid communication
- Server auto-discovery
- Cross-server message forwarding
- Heartbeat detection mechanism
- Multi-language translation support (Chinese, English, German, Turkish)
- Real-time message translation
- Automatic language detection
- Translation switch control
- Scheduled reminder functionality
- Event reminder management
- Reminder notification display
- Priority queue management
- Responsive layout design
- Multi-tab chat system
- Beautiful message bubbles
- Modern UI components
- Documentation Index - Complete documentation overview
- Development Guide - Development related documentation
- User Guide - User usage guide
- API Documentation - Interface documentation
- Deployment Guide - Deployment related documentation
- Translation Flow - Detailed translation functionality flowchart
User selects language
β
Language selection decision
ββ Original β Send normal message β Server forwards β Target user receives β Display message
ββ Other languages β Send translation request β Translation processing β Google Translate API β Return translation result β Target user receives β Display translated message
-
User selects language
- Select target language in client interface (Original/Deutsch/English/Chinese/TΓΌrkΓ§e)
-
Message processing branch
- Original: Send normal message directly, no translation
- Other languages: Send translation request, including original text and target language
-
Server processing
- Receive translation request
- Call Google Translate API
- Generate translation result
-
Message forwarding
- Forward translated message to target user
- Maintain association between original and translated messages
-
Client display
- Target user receives message
- Display corresponding content based on language settings
| Language Option | Target Language | Language Code |
|---|---|---|
| Original | No translation | - |
| Deutsch | German | de |
| English | English | en |
| Chinese | Chinese | zh-CN |
| TΓΌrkΓ§e | Turkish | tr |
This project uses the MIT License.
Project hosted on LRZ GitLab