Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936

    Tenere aperta una connessione

    Questo messaggio non e' molto legato all'HTML, ma non ho trovato nessuna sezione, piu' adatta, quindi ho postato in questa che mi pare la piu' generica



    Avrei bisogno di tenere il sito in contatto con un utente in tempo reale: quando si verifica un dato evento (server side) devo aver la possibilita' di informare il browser di un utente e fargli ad esempio aprire un alert...

    Ho trovato almeno due soluzioni possibili per farlo:
    Potrei, utilizzando AJAX, far scaricare una pagina dal server ogni pochi secondi, quando ho qualcosa da comunicare all'utente mi basta mettere in tale pagina l'evento da mandargli.
    Oppure potrei tenere la connessione di una pagina aperta, quando l'utente si connette alla pagina del sito io mando una risposta HTTP Chunked: non arrivo mai a mandargli i </BODY> e </HTML> finali e terminare la connessione, ma lascio lo script server-side in attessa di nuovi eventi che, quando si verificano, li mando al client per poi tornare ad attendere.

    Nessuno di queste due soluzioni mi piace molto. Esistono altri metodi? Se non ne esistono di migliori quale scegliereste tra i due e perche'?
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    mi sa che è meglio un refresh di pagina con l'evento inserito.

    tenere una pagina a metà è una soluzione non affidabile:
    il server potrebbe andare un time out,
    lo stesso potrebbe fare il browser

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.