2010-10-30 9 views

Respuesta

5

Lo hice con el temporizador de JavaScript establecido ejecución en milisegundos, cada vez que el temporizador ejecutaba la función que consultaba el Servidor con Ajax y el valor devuelto (posiblemente formato JSON), entonces actualiza su campo con el valor. Lo hice cada 5 segundos y funciona perfectamente. En ASP.NET creo que se llamaba Ajax Timer Control.

+0

Muchas gracias. – Erik

+19

¡problema con esta respuesta es que cada cliente conectado está constantemente martillando su servidor incluso si los datos no están cambiando! .. –

0

Hay dos cosas que se necesitan para hacer esto:

  1. Código que se ejecuta en el navegador para obtener los últimos datos. Esto podría ser Javascript o algo que se ejecuta en un complemento como Silverlight o Flash. Esto necesitará solicitar periódicamente contenido actualizado del servidor.

Lo que nos lleva a la necesidad de ...

  1. El código que se ejecuta en el servidor para recuperar y devolver los datos más recientes (a partir de la base de datos). Esto podría crearse con cualquier lenguaje de scripting del lado del servidor.
9

Hay dos enfoques:

de votación

cliente solicita datos sobre una base regular. Utiliza recursos de red y servidor incluso cuando no hay datos. Los datos no son del todo 'en vivo'. Extremadamente fácil de implementar, pero no escalable.

empuje

Server envía datos al cliente, por lo que el cliente puede simplemente esperar a que llegue en lugar de comprobar con regularidad. Esto se puede lograr con una conexión de socket (ya que está hablando de páginas web, esto realmente no se aplica a menos que esté usando Flash, ya que el soporte para enchufes en el navegador del navegador no está maduro) o usando la técnica conocido como 'cometa'.

Ni las conexiones de socket ni los cometas son particularmente escalables si el extremo del servidor se implementa ingenuamente.

- Para realizar datos en vivo a gran escala (sin comprar una embarcación con carga de hardware) necesitará un software de servidor que no utilice un hilo para cada cliente.

Cuestiones relacionadas