IT_developer
28.12.2012 - 14:12
Недавно затеял некий проектик. На нем, мне нужно каждый промежуток время дергать данные из БД аяксом. Можно сказать анатомия контакта. Тоесть переписка между юхерами без перезагрузки, оповещеине о новостях на стене, сами новости и многое другое тоже без перезагрузки. Механизм мне известен. Повешать на
setInterval() аякс запрос. Подвох вот в чем. Запрос то не один. У меня созрело 2 варианта, но какой вариант будет менее "насилосвать" сервер не могу выбрать. Варианты:
1) На каждый запрос(записи на стенках, оповещения, переписка) сделать отделный
setInterval() с аякс запросом и потом выводить
2) Сделать один
setInterval(), который будет сразу выполнять все запросы из БД и выводить их
Надеюсь на вашу помошь
T1grOK
28.12.2012 - 14:22
Хранить последний id(принятый, JS) в переписке, а у сервера запрашивать новые, которые больше этого id
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
ApuktaChehov
28.12.2012 - 14:25
IT_developer - я бы посоветовал сразу работать с nodeJS и socket.io.
Если проект не загнется, то наступит такой момент, когда ваши аяксы уронят сервер.
_____________
inpost
28.12.2012 - 14:27
ApuktaChehovБудет использоваться тот же пуллинг, что и при аяксе для половины клиентов, может 30-40%. Так что выиграешь только в отсутствии открытия постоянно соединения с сервером, но тут другая проблема, что если вдруг ты теряешь пару пакетов, то надо будет ещё переподключение делать, снова оформлять отправку. А ещё и падения node-сервера... в общем он у меня на тестовом аккаунте пару раз отрубался просто так, из-за входящей ошибки от одного клиента... другие уже не могли работать... остаётся надеяться, что в новой версии подправили.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
IT_developer
28.12.2012 - 14:47
T1grOK это ты сам механизм выборки сообщений мне разглаголил, а мне нужно выбрать менее геморный вариант обращения к серверу
Эли4ка
30.12.2012 - 15:39
лучше не постоянно запрашивать обновления,а уведомлять другую сторону когда пользователь нажал отправить сообщение,тогда лишних запросов не будет.
IT_developer
30.12.2012 - 21:54
Если смогу так сделать, то обязательно
Эли4ка
31.12.2012 - 06:15
IT_developer
Цитата |
Если смогу так сделать, то обязательно |
а что там делать,onclick на кнопку повесить и все..
IT_developer
31.12.2012 - 10:05
Цитата (Эли4ка @ 31.12.2012 - 05:15) |
IT_developer
Цитата | Если смогу так сделать, то обязательно |
а что там делать,onclick на кнопку повесить и все.. |
Да но как мне уведомить пользователя, что собеседник нажал конопку?
Эли4ка
31.12.2012 - 13:43
Цитата |
Да но как мне уведомить пользователя, что собеседник нажал конопку? |
кнопка нажата,ф-ю добавления в БД,и одновременно скрипт,чтобы проверил обновление в БД и все.
IT_developer
31.12.2012 - 18:34
Это получается вот такая вот лабуда. Пользователь ввел данные->Нажал кнопку->Добавил сообщение в БД и то, что он нажал кнопку->получатель же проверяет нажал ли пользователь кнопку, если да то выводит последнее сообщение из переписки, тоесть то что отправил отправитель.
А не легче так: каждую 0,5 сек делать запрос есть ли сообщения, у которых дата отправления
больше предыдущего сообщения, или как говорил тигрок?
Цитата |
А не легче так: каждую 0,5 сек делать запрос есть ли сообщения, у которых дата отправления больше предыдущего сообщения, или как говорил тигрок? |
нет,не легче,так как если Вы будете делать такие запросы,то будет много трафика,и потом к каждому запросу придется хэш делать,чтобы не получился DDoS,и потом,Вы посмотрите как сделано у ВКонтакте это-например по такому же принципу у них и черный список работает(если пользователь нажал заблокировать-то происходит обновление страницы с указанием,что он вас заблокировал,и никто пустых запросов тут не шлет)
IT_developer
1.01.2013 - 13:58
Эли4ка я в dDosе не серен. скажи как можно из моего варианта получить ДОСю?
Цитата |
я в dDosе не серен. скажи как можно из моего варианта получить ДОСю? |
IT_developer
1.01.2013 - 16:40
Эли4ка я же не говорю ДОСит мой сайт. Насколько а помню ДОС атака, это атака не на сайт, а на сервер сайта. Так вот чем мой вариант нагубить серверу я так и не понял. Так же хочу выслушать мнение экспертов
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.