I messaggi della chat vengono memorizzati

master
leonardo_pcto 2025-06-19 17:23:05 +02:00
parent bfb517a2f3
commit 4ad10a1b4c
1 changed files with 12 additions and 5 deletions

15
main.py
View File

@ -1,6 +1,5 @@
from fastapi import FastAPI, WebSocket, WebSocketDisconnect
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from typing import List
from datetime import datetime
@ -11,6 +10,8 @@ with open("index.html", "r") as file:
listaConnessioni: List[WebSocket] = [] #lista delle connessioni
messaggi_salvati: List[str] = [] #memorizzo tutti i messaggi
@app.get("/")
async def get():
return HTMLResponse(html)
@ -18,19 +19,25 @@ async def get():
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
listaConnessioni.append(websocket) #aggiungo il websocket
listaConnessioni.append(websocket)
for messaggio in messaggi_salvati:
await websocket.send_text(messaggio)
try:
while True:
data = await websocket.receive_text()
orario = datetime.now().strftime("%H:%M") #orario di quando e' stato inviato il messaggio
orario = datetime.now().strftime("%H:%M")
messaggio_con_orario = orario + "---> " + data
messaggi_salvati.append(messaggio_con_orario)
for connection in listaConnessioni:
try:
await connection.send_text(messaggio_con_orario)
except Exception as e:
print("Errore nell'invio dei dati a " + connection + ": " + e)
print("Errore nell'invio a " + connection + e)
listaConnessioni.remove(connection)
except WebSocketDisconnect:
listaConnessioni.remove(websocket)