Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка статуса доступности компьютера (https://javascript.ru/forum/misc/1984-proverka-statusa-dostupnosti-kompyutera.html)

Lpervak 15.10.2008 19:08

Проверка статуса доступности компьютера
 
Добрый день всем.

Ситуация следующая...

У меня дома компьютер с внешним IP. На нем установлен Апач и висит сайт.

Есть два доменных имени - одно из них привязано к моему IP, а другой - к хостинг-провайдеру, где находится почти такой же сайт.

Проблема: компьютер не может постоянно "пыхтеть" (возможно он подвиснет или провайдера заглючит).

Идея следующая...

Я подумал, что можно будет создать простенький сайт на другом хостинге (можно даже народ.ру) состоящий из двух хтмл-файлов (один будет включать два фрейма: один фрейм со криптом, а второй - с сайтом на моей машине).

Теперь опишу сам скрипт. Предположим, у меня есть зеркало (просто копия) моего сайта на локальной машине, который находится где-то в интернете, на каком-то шаровом хостинге. Так вот, скрипт должен как-то выдавать статус "Основной сервер работает" или "Основной сервер не работает". И рядом написано "Если основной сервер не работает, пожалуйста, пройдите по ссылке "..........".

Как же сделать этот скрипт?

Была у меня идея вот так (все действия изложены последовательно):

Скрипт пытается соедениться с моим компом (например, запрашивает графический файл - зеленый кружок - он означала бы, что сайт работает). Если все нормально - отображается рисунок. Если файл не найден - вставляет из своей папки красный кружочек - и сообщения, что основной сервер не доступен.

Может, написано бредово. Но я это вижу приблизительно так. Было бы неплохо сделать это именно на JS.

Kolyaj 15.10.2008 20:27

Во-первых, вы извращенец, во-вторых,
<img src="http://myhomosite.ru/green.gif" onError="this.src='/red.gif'" />

Если green.gif с соседнего сайта по каким-то причинам не загрузится, загрузится red.gif с текущего сайта.

Zibba 15.10.2008 23:20

Ну если исходить из ваших идей, то посылайте запрос основному серверу, если будет приходить подтверждение в течении какого то времени, то сервер на ногах, иначе в ауте и посылаете запрос другому серверу, если и там то же самое, то выдаете пользователю, что "Время лечит".
P.S. С запрос посылаем используя XMLHttpRequest, как с ним работать описано на сайте (данной информации для вас будет с головой).

Lpervak 16.10.2008 10:57

Kolyaj, спасибо! Самое простое решение!

Zibba, спасибо! Буду учиться... А что делать?:)


Часовой пояс GMT +3, время: 07:49.