Pregunta

Hace poco me encontré con un par de casos en los que un servidor sería distribuir un flujo de eventos que contiene los mismos datos para todos los oyentes, tal como una caja 'actividad reciente'.

Se me ocurrió que es bastante extraño e ineficiente tener un servidor como Apache ejecutar un hilo de procesamiento y consulta de la base de datos para cada flujo cometa único que contiene los mismos datos.

Lo que yo haría para aquellos mundial (no por usuario) arroyos se ejecuta un solo hilo que emite continuamente los datos, y un nuevo (verde) hilo para cada nueva solicitud que da salida a los encabezados y luego 'fusiones' en el hilo principal .

¿Es posible que un hilo para servir a múltiples tomas de corriente, o para múltiples clientes para escuchar la misma toma?

Un ejemplo

o = evento

       # threads received
|  a b # 3
o / /  # 3       -
|/_/
|      # 1
o  c   # 2       a, b
| /
o/     # 2       a, b
o      # 1       a, b, c
|      #                    connection b closed
o      # 1       a, c

hace algo como esto existe? ¿Funcionaría? ¿Es posible hacer?

exención de responsabilidad: No soy un experto en el servidor

.
¿Fue útil?

Solución

Confirmar Node.js - un único subproceso, por eventos de servidor. Utiliza JavaScript como un bono.

Otros consejos

Si está utilizando ASP.NET, el siguiente post debe ser útil

http://beta.codeproject.com/KB/aspnet/CometAsync.aspx

Por cierto, es posible implementar Comet para servir a más de un cliente por hilo, pero sólo un hilo para todos los clientes no parece suficiente?

Usted está hablando de "las peticiones web asíncronos" aplicados al cometa, algunos como "el cometa asíncrono".

En mi opinión este enfoque, tan popular en estos días, es profundamente defectuoso .

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