Intereting Posts
Ajax и файлы cookie javascript, это безопасно? Предоставление загруженных изображений уникальному имени для mysqli Сохранять клики внутри файла .txt / .php на сервере Использование PHP exec () дает ошибку: Fatal: Нет такого файла или каталога; вы установили Регулярное выражение для чистых javascript-комментариев типа // PHP-код запускается только один раз внутри javascript setInterval Сделать путь доступным на разных уровнях папки на PHP Как запретить браузеру кэшировать изображение? Удаление каскада Doctrine не работает с OneToMany и OneToOne Как создать токен состояния подделки анти-запроса. В регистрации google + на стороне сервера PHP preg_replace: Устаревший Интеграция API QuickBooks API (php) Предупреждение: mysqli_fetch_array () ожидает, что параметр 1 будет mysqli_result, строка задана Невозможно получить доступ к самому себе :: если класс класса не активен как изменить путь по умолчанию для php в xampp?

как реализовать facebook как уведомление?

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

Вся часть базы данных и PHP выполнена, но я не могу понять, как ее реализовать, как Facebook.

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

Используя YUI или любую инфраструктуру JavaScript, я могу запросить таблицу базы данных через n секунд, чтобы проверить наличие уведомлений. Этот метод слишком тяжелый.

Мне было интересно, существует ли какой-либо модификатор на стороне сервера, или скрипты могут быть выполнены так, что всякий раз, когда в моей таблице базы данных появляется новая запись, сервер будет указывать конкретный клиент. В этом случае ненужные запросы запросов от клиента к серверу будут полностью устранены, и система может эффективно работать на веб-сайте с более чем 50 000 пользователей в Интернете одновременно.

Как я могу это достичь?

    Вы должны изучить методы COMET , такие как вечный кадр ( учебник ) и длительный опрос. Это позволяет вам иметь форму клиентского push-сервера.

    Я действительно удивлен, что никто не упомянул PubNub и Pusher

    Эти два (конкуренты) создают инфраструктуру, которая позволяет получать уведомления в реальном времени, как и Facebook.

    Уведомление Facebook

    Вы в основном устанавливаете запрос, например callng службу, запрашивающую ваш сервер / db для уведомлений этого пользователя. Вы можете сделать цикл while, который Thread.Sleep если нет уведомления (возможно, Thread.Sleep между запросами). Ваш запрос js будет тайм-аут, после чего вы можете снова вызвать функцию в тайм-ауте. Это означает длительный опрос afaik

    Единственный способ сделать это – иметь какой-то механизм (например, Javascript) для многократного опроса сервера для обновлений. Невозможно выполнить операции с сервером в веб-браузерах.