Seite 1 von 1
Flask WebSocketio
Verfasst: Sonntag 21. Juni 2026, 07:23
von softwarebaer
Ich bin Anfänger und programmiere auch nur aus eigenem Interesse. Seit kurzem betreibe ich eine lokale Website die mir Daten von Temperaturfühlern, Stromzählern usw. anzeigt. Ich verwende dafür Flask und lese neue Daten per fetch() ein. dieses polling möchte ich aber künftig vermeiden und websocket verwenden.
bisher nur Fehlersuche "type Object Server has no attribute 'reason'"ist die übliche fehlermeldung. ich habe python und flask bereits mehrmals neu installiert. Hat jemand Erfahrung damit? Flask läuft auf einem RPi4 mit Raspbian 10 ("BUSTER")
Wäre Dankbar für ein paar tips!
Re: Flask WebSocketio
Verfasst: Sonntag 21. Juni 2026, 11:30
von Sirius3
Für eine sinnvolle Hilfe sind der gesamte Traceback und die relevanten Stellen in Deinem Programm nötig.
Starte mit einem simplen Beispielprogramm, das funktioniert, und erweitere es dann:
z.B. app.py
Code: Alles auswählen
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
app.config['SECRET_KEY'] = 'dein-geheimes-passwort'
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('connect')
def handle_connect():
print('Client verbunden!')
emit('server_response', {'data': 'Verbunden mit Server!'})
@socketio.on('client_message')
def handle_message(data):
print('Nachricht vom Client:', data)
emit('server_response', {'data': f'Server hat erhalten: {data}'})
if __name__ == '__main__':
socketio.run(app, host='0.0.0.0', port=5000, debug=True)
und `templates/index.html`:
Code: Alles auswählen
<!DOCTYPE html>
<html>
<head>
<title>WebSocket Test</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js"></script>
<script>
const socket = io();
socket.on('connect', () => {
console.log('Verbunden mit Server!');
});
socket.on('server_response', (data) => {
console.log('Server sagt:', data.data);
});
function sendMessage() {
const message = document.getElementById('message').value;
socket.emit('client_message', { message: message });
}
</script>
</head>
<body>
<h1>WebSocket Test</h1>
<input type="text" id="message" placeholder="Nachricht eingeben">
<button onclick="sendMessage()">Senden</button>
</body>
</html>
Re: Flask WebSocketio
Verfasst: Sonntag 21. Juni 2026, 21:02
von __blackjack__
@softwarebaer: Bevor irgend etwas anderes gemacht wird, sollte da nicht mehr Buster laufen. Das bekommt jetzt schon seit zwei Jahren nicht einmal mehr Sicherheitsupdates.