nginx_http_push_module и базы данных - PullRequest
2 голосов
/ 05 мая 2010

Я новичок в nginx, и я использую nginx в качестве сервера комет от nginx_http_push_module

У меня два вопроса:

1, как я могу сохранить сообщения, полученные nginx_http_push_module, в базы данных?

2, как я могу получить список слушателей канала?

спасибо ~

Ответы [ 2 ]

1 голос
/ 08 мая 2010

1, как я могу сохранить сообщения, полученные nginx_http_push_module, в базы данных?

Вы должны подписаться на интересующий вас канал на стороне сервера и сохранять каждое сообщение в базе данных по мере его поступления.

Вы можете использовать cURL в PHP, например, для многократного длинного опроса канала (вам нужно будет установить соответствующий таймаут и правильные заголовки кэширования: If-None-Match и If-Modified-Since ).

2, как я могу получить список слушателей канала?

Примечание: nginx http push-модуль protoco l очень прост, это не bayeux . Подписчик / слушатель в этом модуле - это просто активное HTTP-соединение по URL-адресу подписчика. Например, если вы используете интервальный опрос вместо длинного опроса, вы будете считаться подписчиком только в течение (очень) короткого времени, в течение которого установлено соединение.

Вот почему список слушателей канала не имеет большого смысла с этим модулем.

Однако вы можете узнать количество активных подписчиков канала, отправив запрос GET на URL публикации, но я серьезно сомневаюсь, что вы могли бы с этим что-либо сделать.

0 голосов
/ 07 июня 2010

1 - nginx не получает никаких сообщений от клиентов, только из вашего приложения по адресу публикации, который должен быть защищен.

2 - вы можете реализовать некоторые приемы JavaScript с помощью body.onload и unload для создания списка пользователей чата, например.

...