Я сделал частную чат-систему. Пока в чате есть 3 jquery
ajax
post
скрипты, вызывающие сервер в цикле для новых данных.Что было бы лучше для сохранения ресурсов серверной системы
Окна сообщений между текущим пользователем и целевым пользователем (Аякс получает метку последнего сообщения на БД и сравнивает его с последней отметкой времени сообщения, которое отображалось. Получить все сообщения> чем в прошлом сообщения временной метка и отображать его в окне сообщений. Аякс петли через каждые 5 секунд после последнего возвращения.)
WHOS онлайн проверок (чеки дб для Whos онлайн. Аякс петля через каждые 30 секунд после последнего возвращения)
Кто отправил сообщение текущему пользователю (Отметьте и получите пользователей, которые не являются текущим целевым пользователем в окне сообщений, и перепутали текущего пользователя. Аякс петля через каждые 15 секунд после последнего возвращения)
До сих пор выше 3 являются единственными петлями Ajax у меня есть, и я до сих пор перепроверки моего кода для областей, где я могу урезать ее вниз.
Мой вопрос есть. Было бы лучше сохранить ресурсы серверной системы, если я создаю 1 ajax post
и зациклирую его каждые 5/8 секунд. Или я должен оставить это как?
Я спрашиваю об этом, потому что я получил предупреждение от своего хостинга до того, как я использовал слишком много ресурсов своего сервера (из-за очень глупого эксперимента). Если я снова испортил, они режут мой хостинг, поэтому я надеюсь, вы, ребята, понимаете, почему я задаю такой вопрос.
Дополнительные сведения: Я использую jquery ajax для разговора с php-скриптом, который получает данные из mysql db. Цикл запросов выполняется на стороне клиента.
1) переход к реальному хостера (или, возможно, вы (D) DOS эффективно, им это не очень нравится) 2) использовать websockets – PeeHaa
У вас нет мозгов для атаки ddos (lol). Его первое, что я прочитал о веб-сайтах. Его вроде как длинный опрос, но на следующем уровне? Я пытаюсь узнать больше о 'websockets', пока мне нравится то, что я читаю об этом. благодаря! –
@PeeHaa только один вопрос. Нужно ли специально настроить сервер для получения веб-ящиков, чтобы я мог использовать веб-узлы? До сих пор я понял, что я могу использовать javascript для общения с сервером с помощью 'Socket.send()', но образцы, которые я вижу, используют разные порты не 80, например. 'Локальный: 9998'. –