Форум → Программирование → PHP для идиотов → Обновление данных на странице, если есть обновление в бд
Обновление данных на странице, если есть обновление в бд
Страницы: ← Следующая страница →
-
Допусти есть у нас страница, на которую данные подгружаются динамично по средствам ajax. Но вся соль в том что изменения вносятся не текущим пользователем, а другими.
То есть пользователь должен зайти на страницу и получать без перезагрузки страницы данные которые внес другой пользователь. К примеру кто знаком с социальной сетью вконтакте видело как там приходят сообщения - как в айсикью.
Я конечно к примеру могу задать получения данных на какое либо событие, к примеру (образно) движение мыши) но это будет нехило нагружать. Слишком много будет запросов. Так вот, как такое делается вообще? Как мне сделать запрос если данные были внесены новые ? -
4 декабря 2011 г. 20:35, спустя 11 минут
Long pollingСпустя 19 сек.Только сразу говорю - на пхп это не реализовать -
-
4 декабря 2011 г. 22:22, спустя 58 минут 40 секунд
setTimeOut()
и функция которая чекает обновления
раз в 5 секунд к примеру -
4 декабря 2011 г. 23:09, спустя 46 минут 36 секунд
не жирно?
setTimeOut()
и функция которая чекает обновления
раз в 5 секунд к примеру -
4 декабря 2011 г. 23:14, спустя 4 минуты 52 секунды
phpdaemon.net
Не, php так устроен, что не может в асинхронность, а что за лонг запросы без асинхронности?Спустя 81 сек.
setTimeOut()
и функция которая чекает обновления
раз в 5 секунд к примеру
Ну во первых тогда setInterval, во вторых это плохо для сервера -
5 декабря 2011 г. 0:11, спустя 57 минут 32 секунды
phpDaemon — asynchronous server-side framework of network applications implemented in PHP using famous libevent which makes possible to handle hundreds and thousands of simultaneous connections.
Спустя 168 сек.даже такIts master process spawns a bunch of worker-processes (workers) that run your applications. Each worker doesn't block (sleep) at all, and has event-driven architecture.
Designed for highload.Спустя 36 сек.но лично я использую nodejs -
5 декабря 2011 г. 2:51, спустя 2 часа 39 минут 43 секунды
Как можно реализовать АСИНХРОННОСТЬ на php, если её там НЕТУ? Только ФОРКАМИ, а ты представь себе на КАЖДОГО пользователя свой ПРОЦЕСС, и еще хуже если запущу я рекурсивно опрос и задержку коннектов с твоего сервера и в итоге у тебя всё зависнет и накроется медным тазом от нехватки оперативы за одну секунду (ну может две)Спустя 59 сек.Это я даже еще слабо сказал - по несколько процессов на каждого пользователя, ведь он может несколько вкладок открытьСпустя 213 сек.Dynamic spawning workers
что и требовалось доказать - он на каждый коннект вешает воркер (т.е. делает fork() или pctnl_fork не помню как в пхп)Спустя 145 сек.http://php.net/manual/en/function.pcntl-fork.php -
5 декабря 2011 г. 2:59, спустя 8 минут 14 секунд
phpdaemon.net
Не, php так устроен, что не может в асинхронность, а что за лонг запросы без асинхронности?Спустя 81 сек.
setTimeOut()
и функция которая чекает обновления
раз в 5 секунд к примеру
Ну во первых тогда setInterval, во вторых это плохо для сервера
нельзя быть таким пессимистичным, или это роль гуру разлагает сознание?
function CheckNewMessages() {
$.post(
'http://bla.net/action/mail',
{
'op' : 'new_messages'
},
function(data) {
if (data.result == 'error') {
UIAlert(data.error);
} else {
if (data.new_messages > 0) {
$('#span_new_messages').html('('+data.new_messages+')');
} else $('#span_new_messages').html(' ');
if (data.trade_requests > 0) {
$('#span_trade_requests').html('('+data.trade_requests+')');
} else $('#span_trade_requests').html(' ');
}
},
'json'
);
setTimeout('CheckNewMessages()', 10000);
}
CheckNewMessages() ;
вызов никто не мешает закешировать, тем же мемкешем, и обновлять кроном скажем для активных юзеров. да кто собрался это мутить не будет надеюсь юзать пятибаксовый виртуал -
5 декабря 2011 г. 3:00, спустя 1 минуту 12 секунд
Faster, и где тут у тебя Long-Pooling?)Сапожник без сапог -
5 декабря 2011 г. 3:02, спустя 1 минуту 37 секунд
я жалкий неудачник, не достойный целовать твои ноги :) -
5 декабря 2011 г. 3:13, спустя 11 минут 18 секунд
тото же
я жалкий неудачник, не достойный целовать твои ноги :)Сапожник без сапог -
5 декабря 2011 г. 4:23, спустя 1 час 10 минут 6 секунд
вызов никто не мешает закешировать, тем же мемкешем
Что? Кого закешировать? Смысл технологии тогда? Да и как ты его собрался "кешировать мемкешем" - вызов то к серверу будет. Суть то понимаешь вообще? Или для тебя всё что сложно пониманию есть гуру-технологии?) Для твоих полтора посетителей в месяц твоя сет интервал вполне ничего так. Сет таймаут один раз срабатывает только, я тебе выше написал используй сет интервал, а то у тебя вообще бессмысленный код получается -
-
5 декабря 2011 г. 8:06, спустя 3 часа 51 секунду
мона pusher потыркать, особо не вникал, но ссылка с примером есть - http://net.tutsplus.com/tutorials/javascript-ajax/getting-real-time-with-pusher/Высокоуровневое абстрактное говно
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!