2010-12-24 13 views
9

Dado que (html5) localStorage y sus equivalencias persisten entre pestañas y ventanas, he pensado en usarlo para pasar mensajes. El problema es que buscar y almacenar son operaciones diferentes, y por lo tanto no atómicas. Tengo modelos que dependen de la generación de UUID, resoluciones de conflictos y señalización para hacer el pequeño subconjunto de lo que necesito hacer, pero mi verdadera pregunta es la siguiente:local Almacenamiento y bloqueo

Como el almacenamiento local es un recurso de memoria compartida, ¿cuál es el mecanismos de bloqueo disponibles para el acceso mutuo?

+1

Gracias por el cambio ... la terminología es una especie de sopa de letras en este momento. Hay IE userData, DOM storage de w3c, HTML5 storage, Flash LocalStorage, etc. – kristopolous

Respuesta

3

Creo que lo que realmente necesita es Channel Messaging, aunque, por lo que sé, nadie lo ha implementado todavía. Permite la mensajería arbitraria del lado del cliente entre las secuencias de comandos.

+0

sí ... esto está cerca. – kristopolous

1

No hay ninguna incorporada. Tendrás que idear tu propio mecanismo de bloqueo. Puedes, por supuesto, usar cualquiera de los métodos existentes que otras personas hayan ideado para otras cosas (como bloquear en memcache, por ejemplo).

+0

Sí, parece que los mecanismos de bloqueo tendrían que mantenerse en el servidor; que en cierto modo frustra un objetivo principal: es poder propagar información de una conexión maestra de estilo Comet en una sola pestaña a todas las demás. – kristopolous

+0

umm No estoy seguro de lo que está haciendo, pero localStorage no tiene nada que ver con el servidor. En cuanto al cometa, no estoy 100% seguro, pero creo que si tiene varias pestañas (o ventanas) abiertas para el mismo cliente, un mensaje enviado al cliente debería llegar a todas las pestañas. Depende de qué implementación del cometa estés utilizando fuera de curso. –

+0

Sus límites de conexión son los que conoce. A menos que clasifique los datos en el lado del cliente, existe la posibilidad de que los usuarios accedan a estos, según sus patrones de interacción con sus servicios. – kristopolous

Cuestiones relacionadas