Visualizzazione dei risultati da 1 a 10 su 10

Discussione: sviluppo chat

  1. #1

    sviluppo chat

    Ciao a tutti,
    volevo sottoporvi il mio problema e sperare che qualcuno abbia qualche buon consiglio per me :-)

    Sto sviluppando una chat con php e javascript. Ho praticamente 3 chiamate ajax:
    1) ogni 5 secondi controlla se ci sono nuovi utenti nella stanza, o se alcuni l'hanno lasciata
    2) ogni secondo controlla se qualcuno sta scrivendo, o se non sta piu scrivendo
    3) ogni secondo controlla se ci sono nuovi messaggi rispetto a quelli inseriti..

    Ovviamente in locale posso permettermi di appesantire cosi la pagina di chiamate, ma se butto su un server diventa troppo pesante.. Non c'è un modo per mandare un segnale all'utente nella stanza, quando viene inserito un nuovo messaggio, o un utente sta scrivendo, o un utente ha lasciato la stanza o è entrato, in modo da fargli fare una chiamata ajax solo in quel momento, e non ogni tot secondi.. Secondo me cosi il sistema diventerebbe molto piu leggero ed efficiente.. il problema è come avvisare gli utenti che sono dentro la stanza con me, che è stato inserito un nuovo messaggio ecc...

    Qualcuno ha qualche soluzione??

    Spero di essere stato chiaro..
    Grazie!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    No, via http non esiste un metodo, l'unico è quello che hai usato tu.

    L'altro metodo è quello usato da anni per le chat dal protocollo IRC ma non funziona con i browser (a meno di un plugin java) e poi comunque i pc che si connettono non devono avere firewall a bloccare le porte.

    Ciao
    " Write. Less. Code. "
    ---------------------------------------
    Hotel Booking Software

  3. #3
    An ok.. grazie mille!!
    E' che come dicevo oggi, in locale gira benissimo, ma su un server esterno la questione si fa molto piu pesante.. Quello che mi sembra strano è che possibile non ci sia qualcosa!! Non metto in dubbio la tua risposta, anzi ti ringrazio, ma devo trovare un idea o qualcosa per ottimizzarla..

    grazie ancora :-)

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    Originariamente inviato da fede89verona
    An ok.. grazie mille!!
    E' che come dicevo oggi, in locale gira benissimo, ma su un server esterno la questione si fa molto piu pesante.. Quello che mi sembra strano è che possibile non ci sia qualcosa!! Non metto in dubbio la tua risposta, anzi ti ringrazio, ma devo trovare un idea o qualcosa per ottimizzarla..

    grazie ancora :-)
    l'unico modo per ottimizzarla è mettere tutte e 3 le kiamate in una sola che controlla tutte le condizioni
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  5. #5
    Non mi dispiace neanche la tua soluzione!!

    Grazie ancora :-)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    in genere le chat sono in java appunto per questo motivi....potresti provare (ma la butto là) utilizzando Ajax che ogni tot secondi fa una chiamata alla pagina php che visualizza i dati prelevati dal db...sicuramente non è la soluzione migliore ma puoi sempre provare...

  7. #7
    Ma è quello che faccio gia.. mi faccio tornare ogni tot secondi i nuovi messaggi!! Ed è proprio quello che vorrei evitare.. ovvero volevo sapere se c'è un modo per inviare un segnale, un qualcosa (bho), agli utenti che sono all'interno della mia stanza, in modo che quando ricevono questo segnale, vanno a fare una chiamata ajax per recuperare i dati, e non la solita ogni tot secondi.. Comunque a quanto pare non c'è nessun modo per farlo.. Anche se secondo me in informatica nulla è impossibile!! A costo di inventarmi qualcosa :-)

    Comunque grazie a tutti!!
    fede89verona

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    No con HTTP è impossibile, è un protocollo stateless che permette solo di inviare una richiesta.

    Non è previsto nel protocollo la possibilità di "ascoltare" segnali, per fare quello si usano architetture client-server (socket) e sono "programmi in esecuzione" diversi dal browser (al massimo plugin appunto, come java). Si può fare una cosa simile con flash, ma ci sono gli opportuni vincoli.

    In più ci sono i problemi di firewall, a meno di tenere aperta la connessione (come IRC).

    Con HTTP si può solo fare "polling".
    " Write. Less. Code. "
    ---------------------------------------
    Hotel Booking Software

  9. #9
    An ok grazie mille!! vedrò di ottimizzarla al massimo quella fatta fino ad ora!! :-)

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    539
    ah ok non lo avevo letto bene...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.