# Kiosk-Modus Fehlerbehebung ## Problem Der Kiosk-Modus zeigte "unreachable" und brauchte sehr lange zum Laden, obwohl die App im Testlauf mit `python3 app.py --optimized` funktionierte. ## Ursachen 1. **Flask Development Server**: Der eingebaute Flask-Server blockiert bei mehreren gleichzeitigen Anfragen 2. **IPv6-Auflösung**: Browser versuchen zuerst IPv6 (`::1`), was zu 30-90s Timeouts führt 3. **Hängende Prozesse**: Alte Verbindungen im WARTEND-Status blockieren neue Anfragen ## Lösung Die Fixes wurden direkt in `app.py` integriert: ### 1. Production WSGI Server (Waitress) - Automatisch aktiv bei `python app.py` oder `python app.py --optimized` - Multi-Threading für bessere Performance - Stabil bei vielen gleichzeitigen Anfragen ### 2. IPv4-Only Binding - Server läuft auf `127.0.0.1:5000` (nur IPv4) - Keine IPv6-Timeouts mehr - Kiosk-Browser sollte `http://127.0.0.1:5000` verwenden ### 3. Automatische Prozess-Bereinigung - Hängende Prozesse werden beim Start automatisch beendet - Keine manuellen `taskkill` mehr nötig ## Verwendung ```bash # Normaler Start (mit allen Fixes) python app.py # Kiosk-Modus (mit Optimierungen) python app.py --optimized # oder python app.py --kiosk # Debug-Modus (Flask Dev Server) python app.py --debug # Debug mit Production Server python app.py --debug --production ``` ## Kiosk-Browser Konfiguration Im Kiosk-Browser sollte folgende URL verwendet werden: ``` http://127.0.0.1:5000 ``` **NICHT** `http://localhost:5000` verwenden (IPv6-Problem)! ## Systemd Service Der Kiosk-Service startet automatisch mit den richtigen Parametern: ```bash ExecStart=/usr/bin/python3 /path/to/app.py --optimized ``` ## Performance-Verbesserungen Mit den Fixes: - ✅ Sofortiger Start (keine "unreachable" mehr) - ✅ Schnelle Ladezeiten (< 1 Sekunde) - ✅ Stabil bei Dauerbetrieb - ✅ Keine Abstürze bei mehreren Anfragen ## Fehlersuche Falls Probleme auftreten: 1. **Port-Check**: `netstat -ano | findstr :5000` 2. **Prozesse beenden**: `python app.py --kill` (in neuem Script) 3. **Logs prüfen**: `logs/app.log` und `logs/kiosk.log` ## Technische Details - **Waitress**: Production WSGI Server (6 Threads, 200 Connections) - **IPv4**: Binding auf 127.0.0.1 statt 0.0.0.0 - **Cleanup**: Automatisches Beenden von WARTEND/ESTABLISHED Prozessen - **Cache**: 1 Jahr für statische Assets im optimierten Modus