Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 30

Discussione: Quesito per Chat AJAX

  1. #11
    Ho trovato la soluzione (grazie anche ad un amico)...

    In pratica basta fare una ricorsione... AJAX prende la pagina, appena presa, ricomincia a prenderla, così all'infinito...

    In questo modo non si blocca nulla, è tutto asincrono...

    La pagina che prende AJAX sarà un interlocutore in PHP, che comunica con un client fatto in PHP, il client comunicherà a sua volta con un server fatto sempre in PHP.

    In questo modo si scambiano messaggi, si evita il Database e si ha una Chat a tutti gli effetti
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    bene per te... magari spiega più in dettaglio che potrebbe interessare... dalle poche parole io non ho ben afferrato il principio... AJAX è asincrono per definizione... si "blocca" solo se lo decidi tu.

  3. #13
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    interessato anch'io alla soluzione

  4. #14
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da Emulator ®
    Ho trovato la soluzione (grazie anche ad un amico)...

    In pratica basta fare una ricorsione... AJAX prende la pagina, appena presa, ricomincia a prenderla, così all'infinito...

    In questo modo non si blocca nulla, è tutto asincrono...

    La pagina che prende AJAX sarà un interlocutore in PHP, che comunica con un client fatto in PHP, il client comunicherà a sua volta con un server fatto sempre in PHP.

    In questo modo si scambiano messaggi, si evita il Database e si ha una Chat a tutti gli effetti
    e in un minuto quante richieste fai al server?
    (perchè alla fine sempre richieste client->server sono!)
    stimando tra le 50 e le 60 richieste al minuto diventano 300 richieste ogni 5 minuti, se poi ci metti che la chat potrebbe avere circa 30 utenti collegati... beh sono 60*5*30 ... 9000 ogni 5 minuti!
    o sbaglio?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #15
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Originariamente inviato da dottwatson
    e in un minuto quante richieste fai al server?
    (perchè alla fine sempre richieste client->server sono!)
    stimando tra le 50 e le 60 richieste al minuto diventano 300 richieste ogni 5 minuti, se poi ci metti che la chat potrebbe avere circa 30 utenti collegati... beh sono 60*5*30 ... 9000 ogni 5 minuti!
    o sbaglio?
    beh ma sembrerebbe senza mysql da quel che ho capito

  6. #16
    No, non avete capito.

    Allora, AJAX non è solo Asincrono, puoi usarlo anche Sincronamente.. detto questo rispiego il concetto:

    LATO CLIENT:
    +Settare AJAX come Asincrono.
    +Creare una Pagina che, in una funzione AJAX richiama un'altra Pagina in PHP, e, subito dopo che ha ricevuto la Pagina, (quindi dopo al controllo: readyState == 4), si richiami ricorsivamente con gli stessi parametri, in questo modo lavora Asincronamente e Ciclicamente, richiedendo la Pagina in PHP di continuo (che poi nn è dicontinuo spiego sotto).

    LATO SERVER:
    +La suddetta Pagina in PHP, non è altro che un Client, che fa da intermediario ad AJAX, quindi ci saranno recv e quant'altro che bloccheranno il continuo girare della funzione AJAX ricorsiva (in pratica non viene chiamata ogni TOT secondi, ma è AJAX che rimane in attesa che la Pagina in PHP gli dia un output), appena vi è un nuovo messaggio il Client viene contattato dal Server e la funzione AJAX ritorna ad aspettare nuove risposte.
    +Un Server fatto in PHP che viene avviato una sola volta, che comunica con il Client in PHP, i vari Client manderanno i messaggi al Server, il Server manderà il messaggio a tutti i Client connessi, sbloccando quindi le funzioni AJAX che sono in attesa di risposta.

    In caso la funzione AJAX dovrebbe adare in Timeout, tornerebbe subito a chiedere la pagina, rimettendosi in coda...

    Quindi non si usa MySQL e quant'altro, non si fanno richieste continue e quant'altro, semplicemente si aspetta una risposta, come fanno tutti i Chat Client/Server.

    Ecco in breve il concetto.
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  7. #17
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da Emulator ®
    No, non avete capito.

    Allora, AJAX non è solo Asincrono, puoi usarlo anche Sincronamente.. detto questo rispiego il concetto:

    .....in pratica non viene chiamata ogni TOT secondi, ma è AJAX che rimane in attesa che la Pagina in PHP gli dia un output.....
    devi fare anche i conti con i timeout di esecuzione degli script, in quanto no su tutti i server haio possibilità di poter ignorare.
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #18
    Se va in Timeout, AJAX chiede ancora la Pagina.. non ci son problemi.
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

  9. #19
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    vorrei capire in cosa consisterebbe la particolarità della soluzione... il problema iniziale mi pare fosse di voler riuscire a far "svegliare" il client in presenza di nuovi messaggi (vedi tutti post successivi in merito), ma in realtà mi pare di capire che semplicemente ora vengono fatte delle chiamate sequenziali...

  10. #20
    Chiamate sequenziali???

    Tutt'altro!

    Non so come spiegare diversamente... cmq il "gateway" è un client e server in PHP, AJAX si appoggia a quello.
    CrystalSoft | Software House & Web Agency di WinRefine, Mercante in Fiera e altro...
    Annunci Zoo | Annunci gratuiti per il mondo degli Animali
    ElettroMercatino | Annunci a tema Informatico ed Elettronico

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.