2012-05-17 3 views
1

Я использовал скрипт php для анализа удаленного XML-файла и вывода вывода на веб-страницу в div. Поскольку мне нужно, чтобы выход был синхронизирован с текущей дорожкой, я использовал Javascript для перезагрузки содержимого div каждые 20 секунд. При тестировании страницы я столкнулся с проблемой моего хостинга и получил сообщение «Превышен лимит IP-соединения», сайт не был доступен. Я изменил IP, чтобы решить эту проблему. Есть ли способ обхода метаданных, не нападая на сервер и не сталкиваясь с проблемами веб-хостинга?Превышен предел IP-соединения

<script> 
setInterval(function() { 
    $('#reload').load('current.php'); 
}, 20000); 
</script> 

ответ

2

Поскольку веб-страницы является клиентом на основе субъект, то в природе не в состоянии получить любые данные, которые он не просил. Это, как говорится, есть несколько вариантов, которые вы можете рассмотреть.

Во-первых, я не знаю, какой веб-хост вы используете, но они должны позволить вам обновлять страницу (или делать запрос, как вы делаете) более одного раза каждые 20 секунд, поэтому я бы связался с ними об этом , Атака «Отказ в обслуживании» должна быть больше 2 или 3 раза в секунду на соединение. Для этого может быть лучший ответ, который я просто не вижу, но на первый взгляд это мое занятие.

Одним из вариантов, который вы можете рассмотреть, является использование Web Socket, что является новой функцией HTML 5, позволяющей веб-серверу поддерживать открытое соединение между браузером посетителя и отправлять пакеты данных взад и вперед. Это предотвращает необходимость постоянного просмотра браузером сервера каждые 20 секунд. Конечно, это новые, и я считаю, что они работают только в Safari и Chrome. Я не экспериментировал с ними, но планировал в будущем.

В заключение я не знаю лучшего способа, чем опрос сервера каждый раз, чтобы проверить изменения. Основываясь на вкладке XMLHttpRequest моего браузера, это то, как gmail ищет новые сообщения. Если ваш хост не позволит вам больше запросов за интервал времени, возможно, уменьшите частоту, которую вы опросили сервер, или переключитесь на другой хост.

+0

Я использовал freehostingnoads.net, интервал опроса составлял 10 секунд, но тестирование не было непрерывным, просто периодическим – fxgreen

Смежные вопросы