Я использую фреймворк codeigniter и в настоящее время работаю над созданием социальных сетей. Моя проблема заключается в том, что мне нужно уведомить пользователя о своей активности друзей, не перезагружая страницу, когда пользователь нажимает ссылку на каналы. Я попробовал следующий скрипт,
<script> setInterval(function() { $('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow"); }, 10000); </script>
Это увеличивает нагрузку на мой сервер. любая другая идея для этого.
Заранее спасибо.
Затем попытайтесь уменьшить временной интервал
<script> setInterval(function() { $('#reload').fadeOut("slow").load('user_feeds').fadeIn("slow"); }, 1000); </script>
Manoj, что вы пытаетесь достичь здесь, – это уведомления и источник данных, находящийся на сервере, поэтому вы не можете сделать это из браузера либо путем выталкивания, либо нажатия с сервера.
вы можете добиться постоянным опросом / частым опросом – обычно устанавливая тайм-аут и получая уведомления.
push – в идеале это не так просто, вы можете добиться этого, объединив AJAX + Comet, это также может быть достигнуто путем длительного опроса, когда вы поддерживаете постоянное соединение с сервером для любых новых обновлений и возвращаете данные на сервер при обновлении.
сообщите мне, если это поможет или вам нужна дополнительная информация
На самом деле это очень интересная проблема, вам нужна реализация COMET. Существует автобус маршрутизации событий с использованием кометы COMETD. COMETD также имеет реализацию javascript и имеет привязки для JQuery. http://cometd.org/documentation/2.x/cometd-javascript