Javascript или PHP: проверить доступен ли хост?

Как с помощью JavaScript или AJAX+PHP проверить — существует хост или нет? Мне нужно проверить, запущен у пользователя web-сервер на машине или нет (доступен localhost на определенном порту) и если запущен вывести один HTML, иначе другой.
  • Вопрос задан
  • 11031 просмотр
Пригласить эксперта
Ответы на вопрос 7
@niko83
Может что-то такое попробовать?
var img = new Image();
$(img).load(function () {
alert('Хост доступен');
).error(function () {
alert('не загрузилась');
}).attr('src', 'ссылка на картинку на удалённом хосте');
Ответ написан
mark_ablov
@mark_ablov
fopen() если можно медленно, get_headers()/fsockopen() если нужно как можно быстрее
Ответ написан
ertaquo
@ertaquo
PHP:
$handle = fsockopen('example.com', 80);
if ($handle !== false)
{
print('работает');
fclose($handle);
} else {
print('не работает');
}

Как определить яваскриптом — не знаю. Разве что послать ajax-запрос и посмотреть, обломается он или нет.
Ответ написан
Riateche
@Riateche
Даже если получится, будет глючить. В новой опере, например, наглухо запрещено взаимодействие локалхоста и внешних сайтов. Даже специальная ошибка для этого есть, не помню как называется.

Смотрите в сторону java или flash.
Ответ написан
Комментировать
@Kane
Вот вариант на javascript. Идея в использовании YQL.
Ответ написан
@Robotex Автор вопроса
Блин, как-то я сам не подумал, что можно просто открыть сокет :) Вот только мы не знаем ip адрес человека — он же за натом сидеть может.

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

Войдите, чтобы написать ответ

Похожие вопросы