Подтвердить что ты не робот

Из этого мира Программирование комет и веб-чат

Текущая настройка проекта

Я работаю над веб-чатом, похожим на Facebook-чат. В текущем состоянии я слушаю входящие чаты и проверяю наличие новых сообщений в существующем чате, делая...

setTimeout(function() { listenForIncomingChat() }, 500);
setTimeout(function() { checkForIncomingMessages( ...params... ) }, 500);

... поэтому выполнение setTimeout() гарантирует, что эти функции всегда работают. В зависимости от того, сколько окон чата я открываю, консоль Firebug может сходить с ума с POST на сервер:)

Очевидно, что это действительно неэффективно, но это единственный способ заставить вещи работать. Теперь я ищу способы сделать это лучше, чтобы сделать это правильно!

Некоторые исследования

Теперь я слышал о Comet Programming и что это способ открыть долговременное HTTP-соединение с сервером, но Я не знаком с технологией или идеями кометы. WebSockets для HTML5, вероятно, даже лучше, но поскольку это не в полном разгаре и не поддерживается всеми браузерами, я буду придерживаться того, что работает.

Согласно Википедии, существует несколько способов разработки с использованием стиля Comet: Streaming (скрытый iFrame, XMLHttpRequest) или AJAX с длинным опросом (тег XMLHttpRequest, Script). Однако я ничего не знаю об этом. Я также читал о AJAX Push Engine (APE), и это выглядит круто, но я не хочу использовать сторонний пока что.

Недавно я наткнулся на WebChat 2.0, поэтому я буду искать исходный код, чтобы попытаться понять, как все это работы.

На вопрос (ы)

Итак, где я могу найти пример кода/учебников о том, как начать работу с таким проектом? Как я могу применить технику Comet? Как настроить долговременное HTTP-соединение с сервером?

4b9b3361

Ответ 1

Вот пример чата с использованием node.js, исходного кода .

Я считаю, что клиент использует опрос, но этот пример интересен тем, что серверная сторона тоже находится в JS, а node.js эффективен для этого типа вещей.