Problema con le chat di gdrcd extreme su [RISOLTO] postato il 26/03/2014 13:02:10 nel forum programmazione, gdrcd, open source, hosting e modificato da png random il 27/03/2014 22:50:45
Ciao a tutti! E' bello tornare a bazzicare da queste parti, un po' meno bello farlo per chiedere aiuto per un problema...
Mi sono ritrovato a dare una mano ad alcuni amici con un progetto dopo anni che non mi occupo più di land online, e mi sono imbattuto in una problematica che non riesco a risolvere.
Molto semplicemente, le chat non si aggiornano automaticamente.
Ho provato a dire a testo.php di ricaricarsi automaticamente ogni dieci secondi tramite META, ma non pare aver sortito effetto.
Fatto questo, ho provato ad alleggerire il carico sul traffico dati cambiando il bersaglio del tasto aggiorna manuale dall'intero frame "palestra" al solo frame "chattesto".
A questo punto, ho perso completamente traccia di cosa stesse succedendo: prima al posto della chat è apparsa una pagina nera, poi all'invio di un'azione ha cominciato a funzionare correttamente in fatto di aggiornamento, anche se apparentemente senza CSS, ma visualizzando solo le azioni inviate da quel momento in avanti.
Qualcuno ha qualche idea di come si possa risolvere questo problema, o è una cosa capitata solo su quel sito? (metterei il link, ma sono ancora in alpha e mi hanno chiesto di non pubblicarlo)
Pagine → 1
26/03/2014 21:46:52 e modificato da blancks il 26/03/2014 21:47:38
Le chat di gdrcd extreme sono quelle derivate dalla versione 3.0 e sono l'aborto logico più inconcepibile che la mente di un essere umano possa mai aver partorito.
Detto questo, se ho ben capito il problema, dovresti risolverlo azzerndo il valore di sessione che mantiene in memoria l'id dell'ultimo messaggio visualizzato in chat.
Il motivo è che la chat di gdrcd extreme in fase di inizializzazione crea l'intestazione html con i richiami al css e tutto, quando l'id è maggiore di zero si occupa di scrivere i messaggi nella formattazione html ancora in corso (e che non verrà mai chiusa), di conseguenza se non gli si dice ogni volta che si entra in una chat -o si aggiorna la pagina principale della stessa- di azzerare quel valore dovresti incontrare il bug.
il file col frameset della chat è sicuramente il posto più appropriato per fare questo reset, credo si chiamasse palestra.php
In ogni caso, se hai possibilità, ti consiglio di utilizzare l'ultima versione aggiornata di GDRCD https://github.com/GDRCD/GDRCD/archive/master.zip e lavorare su quella, ne guadagnerai anche in fatto di sicurezza.
27/03/2014 10:06:15 e modificato da png random il 27/03/2014 22:52:55
Grazie mille per la risposta!
Purtroppo però non era la soluzione al problema...
E, sempre purtroppo, non posso cambiare gdrcd perchè sono entrato a progetto già iniziato (onestamente quasi completato, sono più un problem-solver che un programmatore praticamente) e non avrei il tempo di riprogrammare tutte le personalizzazioni che hanno fatto quelli che ci hanno lavorato prima di me.
Comunque, nuovi aggiornamenti:
-palestra.php era già impostato per azzerare il valore di ID dell'ultimo post
-refresh.php è il file che aggiorna i contenuti della chat ed è impostato in META per aggiornarsi ogni 8 secondi
-testo.php è dove compare la chat, ma in se controlla solo se l'utente è connesso correttamente
-input.php è dove si scrive, ed interagisce solo con se stesso ed il DB
Ho fatto un paio di tentativi abbastanza grezzi per capire dove sta il problema, e credo di essere arrivato ad una svolta...circa, perchè non so dove mettere mano ne quali siano le dinamiche esatte che vengono tirate in campo, per quanto mi riguarda è completamente privo di senso:
-caricando palestra carica ovviamente anche i suoi frame refresh, testo e input
-testo viene caricato con la corretta formattazione
-input non presenta problemi di sorta
-refresh si carica correttamente, ma per motivi non meglio precisati non effettua l'aggiornamento automatico ogni otto secondi
-se faccio aggiornare manualmente input, non succede nulla
-se faccio aggiornare manualmente palestra, carica gli inserimenti più recenti, ma perde quelli precedenti
-se faccio aggiornare manualmente refresh, carica le entrate corrette senza perdere le precedenti, ma continua a non autoaggiornarsi
-se faccio aggiornare manualmente testo (attenzione: qui si fa assurda) perde i css, mostra solo le azioni tra l'ultima e il momento attuale e (rullo di tamburi) refresh inizia ad autoaggiornarsi ogni otto secondi
Ora, io mi ritengo per lo meno in grado di fare collegamenti logici, ma onestamente mi sfugge la logica di tutto ciò, visto che testo.php non contiene comandi che influenzino refresh.php al suo caricamento...
Qualcuno ha qualche idea? Perchè io onestamente sono a secco...
PROBLEMA RISOLTO
Cioè, all'incirca. Ho semplicemente rinunciato a far funzionare il meta ed ho messo un aggiornamento in JS... con quello funziona correttamente al primo colpo. Per aiutare chi avesse problemi simili, ecco la soluzione, da mettere dentro la head di refresh.php
29/04/2014 21:03:11 e modificato da animanera13 il 29/04/2014 21:38:31
ti ringrazio hai risolto un problema anche a me, ho usato la tua soluzione.
EDIT: Domanda ma questo tipo di aggiornamento forzato crea per caso problemi con il server? spiego il problema ho inserito quello script, ho testato per capire come funziona...e ok funzionava, aggiornava e pure alla grande... dopo circa una decina di minuti di test a 2 in chat pagina bianca esco e faccio per rientrare e:
DATABASE TEMPORANEAMENTE NON FUNZIONANTE!
Il database è probabilmente troppo sollecitato, si prega di riprovare più tardi.
Sono momentaneamente impossibili anche l'iscrizione ed il recupero della password.
sapete darmi spiegazioni?
30/04/2014 14:24:54 e modificato da leoblacksoul il 30/04/2014 14:30:00
Il codice non da problemi con il server.
MA se il tuo hosting ti pone un limite di query orarie è possibile che tu abbia alzato troppo la frequenza di refresh consumando la query che avevi a disposizione.
30/04/2014 17:38:22
30/04/2014 18:12:00
Non centra nulla...dipende da che tipo di database hai attivato su altervista. Banda e spazio non hanno niente a che vedere.
Se è bloccato anche con il vecchio refresh a maggior ragione, è ancora più probabile che hai sforato il massimo di query orarie/giornaliere che ti è concesso su altervista.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
venus dormiens ha aperto un annuncio di ricerca: Origo Haeredis - Harry Potter Gdr ricerca Giocatore
Metin2: Server Boost Yohara – Dettagli e FAQ
NosTale → Con l’aiuto della spada e della bacchetta magica risolverai abilmente intricate missioni e domerai coraggiosamente mostri selvaggi!
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
goldaries ha recensito Games of Thrones Winter is Coming
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita nell'arena! Ogni giocatore sarà accompagnato da armi realistiche e magie!
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
I dati del generatore di rank sono stati aggiornati!
aik ha aperto una nuova discussione: Parere su BrowserGame
eXtremelot: La Bussola dei Cartografi di Lot
Dallas Black Gold: [Trama] JFK Memorial
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
Tesi One Piece - One Piece: Il Fumetto Gobale - Forme della citazione e dell’adattamento nell’opera di Eiichiro Oda
Le Ballate di Eterea - Intervista al play by chat dark fantasy Le Ballate di Eterea!
New Aldebaran - Intervista ai gestori dei gioco di ruolo post apocalittico New Aldebaran!
Play Therapy - L’infermiere e il potere terapeutico del gioco nei bimbi ospedalizzati
Vademecum GDR - Utile vademecum sugli aspetti principali del gioco di ruolo online
ShadowNights - Intervista allo staff di ShadowNights.. il play by chat di Shadowhunters!