PDA

Просмотр полной версии : Узнать время на сервере без скриптов.


Lexandr
05.07.2010, 13:06
Скорее всего пишу как раз не в ту тему, но всё же.

Вопрос такой, каким макаром можно узнать время на сервере, на котором лежат мои swf. (AS2). Штука в том, что нельзя использовать любые серверные скрипты и сценарии, swf приложение передаётся куче различных клиентов, установить им доп скрипты невозможно, так как полюбому у всех разная программная конфигурация на сервере.

Какие могут быть варианты решения вопроса?

membrilius
05.07.2010, 13:35
флешка выполняется на стороне клиента.. Сама по себе оно может узнать время только на машине клиента.

Lexandr
05.07.2010, 13:48
Это понятно... но мож есть какие-то хитрости?, что-то с чем-то скрестить.... flex?

Crenth
05.07.2010, 17:53
Это понятно... но мож есть какие-то хитрости?, что-то с чем-то скрестить.... flex?

надо во флешке спрограмить протокол NTP и запрашивать время на сервере.

или отправить туда gеt-запрос GET / HTTP/1.0

и пазырить ответ
HTTP/1.1 200 OK
Date: Sat, 20 Jul 2002 20:38:04 GMT
Server: Apache/1.3.22 (Win32)
X-Powered-By: PHP/3.0.13
Connection: close
Content-Type: text/html

Lexandr
05.07.2010, 18:11
Вот! Это уже больше похоже на правду... Ща посмотрим...

Crenth
05.07.2010, 18:14
в командной строке введите

telnet imap.yandex.ru 143

получите ответ

* OK Yandex IMAP4rev1 2.2.22 at imap1
.126.19.221:1582 2010-Jul-05 17:13:42

То же самое можно сделать средствами сокета на АС3

Lexandr
05.07.2010, 18:18
swf будет лежать на чужом (и зачастую интранет) сервере, где пользователям закрыт доступ в интернет, поэтому обращаться за получением даты к внешнему серверу мы не можем.

А вот распарсить ответ на GET запрос... мне кажется это выход....

1) Насколько подобный ответ от различных вебсерверов стандартен?
2) Я заранее не знаю адреса сервера на котором будет находится swf, посему не знаю куда кидать get запрос

Crenth
05.07.2010, 18:33
флешка же знает откуда ее грузили, значит подставляете этот адрес сервера

а вот насчет стандартности, не знаю. полагаю, что это зависит от админских настроек...

погуглите тему "Анализ ОС удаленного сервера". Можно стандартные порты опросить, ктонить да откликнется с указанием времени (как в яндексе - только IMAP показал время, POP и SMTP - не показали)

Lexandr
06.07.2010, 19:59
Я уж обрадовался, думал нашел выход из положения, яваскриптом с помощью функции getResponseHeader('Date'); считываю дату из ответа http сервера. Да не тут-то было, вебсервера в http заголовке выдают ее по разному, а могут и вообще не выдавать.