Pregunta

Estoy teniendo mucha dificultad para conseguir 'attach ()' función de trabajo de estrofa.

Estoy trabajando en una red social donde los usuarios serán navegando páginas y al mismo tiempo mantener su conexión en el chat. No quiero volver a conectar / reauthorize en cada página de modo que por este enlace, http://groups.google.com/group/strophe/browse_thread/thread/430da5e788278f3a/93c48c88164f382f?show_docid=93c48c88164f382f&fwc=1 , estoy almacenando el SID y el RID en una galleta onunload.

En la página siguiente, cuando intento utilizar el nuevo SID y RID (después incrementándolo en 1) mi sesión ya está destruido. informes ejabberd "Error de HTTP put Motivo:. bad_key"

WTF está pasando?

¿Fue útil?

Solución 2

Me las arreglé para resolver el problema.

La deshacerse estaba siendo doble incrementa entre las cargas de la página. Mediante el incremento de una sola vez la sesión adjuntar comenzó a trabajar.

No sé por qué la sesión fue cancelado, pero esto es lo que sucedió:

  1. Debido a que el RID es 2 más que los anteriores, tiendas ejabberd la solicitud en tampón y no reenvía a los clientes
  2. Los siguientes 2 solicitudes también se almacenan
  3. El de después que causa ejabberd para cancelar la sesión

¿Alguna pista?

Otros consejos

Sin más información de registro de ejabberd o Firebug, esto va a ser difícil de diagnosticar. Es la correcta RID efectivamente almacenada en la cookie? ¿Qué piensa ejabberd es la última estrofa que ha enviado, y qué valor RID tiene? ¿Cuál es la primera estrofa y el primer valor de RID en la nueva página? ¿Cuánto tiempo entre esas dos estrofas?

Actualización: La razón por la sesión se cancela se debe al modelo de seguridad de BOSH. Efectivamente, el SID y el par de RID son secretos. Si conoce la par, se puede adjuntar a la sesión. Con el fin de mantener a la gente forma de ser capaz de adivinar, las RID es decir recogidos al azar de un espacio muy grande. Si envía un exterior RID una ventana muy pequeña de la corriente RID, se desconectará la sesión. La ventana es generalmente (RID, RID + 5) o menos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top