Быстро единственный сервер кометы потока, возможный?

Я недавно встретился с несколькими случаями, где сервер распределит поток событий, который содержит те же самые данные для всех слушателей, таких как 'недавнее действие' поле.

Мне пришло в голову, что это довольно странно и неэффективно, чтобы иметь сервер как Apache, выполняет обработку потока и запросы базы данных для каждого потока кометы, содержащего те же данные.

Что я сделал бы для глобальных (не на пользователя), потоки выполняются единственный поток, который непрерывно испускает данные и новый (зеленый) поток для каждого нового запроса, который производит заголовки и затем 'объединяется' в основной поток.

Для одного потока действительно ли возможно служить нескольким сокетам, или для нескольких клиентов для слушания того же сокета?

Пример

o = событие

       # 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

Что-то вроде этого существует? Это работало бы?Можно ли это сделать?

Отказ от ответственности: Я не эксперт по серверу.

1
задан Pepijn 17 June 2010 в 13:19
поделиться

2 ответа

Посмотрите на node.js - однопоточный, управляемый событиями сервер. Использует JavaScript в качестве бонуса.

1
ответ дан 2 September 2019 в 23:42
поделиться

Если вы используете ASP.NET , следующий пост должен быть полезным

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

Кстати, можно реализовать Comet для обслуживания более одного клиента на поток, но кажется, недостаточно только одного потока для всех клиентов?

1
ответ дан 2 September 2019 в 23:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: