Domanda

Sto avendo un sacco di difficoltà a ottenere di strofa 'attach ()' funzione lavorativa.

Sto lavorando su un social network dove gli utenti saranno surf pagine e allo stesso tempo mantenere la loro connessione chat a. Io non voglio riconnessione / ri-autorizzare in ogni pagina in modo da per questo link, http://groups.google.com/group/strophe/browse_thread/thread/430da5e788278f3a/93c48c88164f382f?show_docid=93c48c88164f382f&fwc=1 , sto memorizzazione del SID e liberare in un biscotto onunload.

Nella pagina successiva quando si tenta di utilizzare la nuova SID e RID (dopo l'incremento dal 1) la mia sessione è già distrutto. rapporti ejabberd "Errore HTTP put Motivo:. bad_key"

WTF sta succedendo?

È stato utile?

Soluzione 2

Sono riuscito a risolvere il problema.

Il RID veniva doppia incrementato tra il caricamento della pagina. Incrementando solo una volta la sessione di allegare iniziato a lavorare.

Non so il motivo per cui la seduta fu cancellato, ma ecco quello che è successo:

  1. Perché il RID è più due di quelli precedenti, negozi ejabberd la richiesta nel buffer e non lo fa in avanti per i clienti
  2. Il prossimo 2 richieste anche vengono memorizzati
  3. L'uno dopo che provoca ejabberd per annullare la sessione

Eventuali indizi?

Altri suggerimenti

Senza ulteriori informazioni di registrazione da ejabberd o Firebug, questo sarà difficile da diagnosticare. È la corretta RID effettivamente memorizzata in un cookie? Che cosa pensa ejabberd è l'ultima strofa hai mandato, e quale valore RID ha? Qual è la prima strofa e il primo valore RID sulla nuova pagina? Quanto tempo tra queste due strofe?

Aggiornamento: La ragione per cui la sessione viene annullata è dovuto al modello di sicurezza di BOSH. In effetti, il SID e la coppia RID sono segreti. Se si conosce la coppia, è possibile allegare alla sessione. Al fine di mantenere le persone a formare essere in grado di indovinare, la IS RID selezionati a caso da uno spazio molto grande. Se si invia un fuori RID una finestra molto piccola rispetto agli attuali RID, si disconnette la sessione. La finestra è di solito (RID, RID + 5) o giù di lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top