Comet (програмування)
Comet (у веброзробці) — неологізм, що описує модель роботи яка дозволяє реалізувати постійне HTTP-з'єднання і дає можливість відправляти дані з сервера за його ініціативою без додаткового запиту клієнта.
Оскільки браузери та вебсервери працюють по протоколу HTTP, який для подібних з'єднань не розрахований то розробники використовують різні реалізації.
Long-polling — клієнт підключається до сервера який не закриває з'єднання доки не з'являться дані або мине час очікування. Після чого клієнт підключається повторно.
Streaming — в цьому випадку з'єднання постійно залишається відкритим і не закривається після кожної передачі даних. Цей підхід є складнішим і потребує спеціально програмного забезпечення.
Реалізувати таку модель на стороні клієнта можна з допомогою JavaScript використовуючи AJAX або IFRAME. А на стороні сервера з допомогою, практично, будь-якого вебсервера та мови програмування.
Проте, сервер в цій моделі повинен одночасно утримувати багато постійних з'єднань.
Звичайний варіант на базі Apache та PHP не зможе витримати велике число одночасних з'єднань, тому краще використовувати спеціалізовані рішення:
- APE (http://www.ape-project.org/ [Архівовано 16 червня 2010 у Wayback Machine.])
- Jetty (https://web.archive.org/web/20111108170514/http://jetty.codehaus.org/jetty/)
- Cometd (http://cometd.org/ [Архівовано 11 червня 2010 у Wayback Machine.])
- HTTP_Push_Module (http://pushmodule.slact.net/ [Архівовано 8 липня 2010 у Wayback Machine.])
- WebSocket — протокол двостороннього зв'язку з сервером
- Server sent event [Архівовано 5 травня 2012 у Wayback Machine.]
Ця стаття не містить посилань на джерела. (квітень 2016) |