Comet (програмування)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Версія для друку більше не підтримується і може мати помилки обробки. Будь ласка, оновіть свої закладки браузера, а також використовуйте натомість базову функцію друку у браузері.

Comet (у веброзробці)неологізм, що описує модель роботи яка дозволяє реалізувати постійне HTTP-з'єднання і дає можливість відправляти дані з сервера за його ініціативою без додаткового запиту клієнта.

Реалізація

Оскільки браузери та вебсервери працюють по протоколу HTTP, який для подібних з'єднань не розрахований то розробники використовують різні реалізації.

Два основні підходи

Long-polling — клієнт підключається до сервера який не закриває з'єднання доки не з'являться дані або мине час очікування. Після чого клієнт підключається повторно.

Streaming — в цьому випадку з'єднання постійно залишається відкритим і не закривається після кожної передачі даних. Цей підхід є складнішим і потребує спеціально програмного забезпечення.

Реалізувати таку модель на стороні клієнта можна з допомогою JavaScript використовуючи AJAX або IFRAME. А на стороні сервера з допомогою, практично, будь-якого вебсервера та мови програмування.

Проте, сервер в цій моделі повинен одночасно утримувати багато постійних з'єднань.

Звичайний варіант на базі Apache та PHP не зможе витримати велике число одночасних з'єднань, тому краще використовувати спеціалізовані рішення:

Див. також

Посилання