|
|
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! на своей веб странице хочу разместить информер с другого сервера. все работает нормально, но бывают моменты, когда сервер источник информера не работает. В такие моменты моя страница загружается долго, ожидая ответа от другого сервера. Существует или нет способ, чтобы проверить в РНР или скрипом, что сервер не отвечает долго, и если время превышает установленное, уже вставлю другой элемент. Спасибо заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 13:37 |
|
||
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
На PHP можно запрашивать через curl или сокет (вот только вчера была тема). Или, можно информер в iframe вывести - будет отдельный запрос, но он не будет тормозить всю страничку. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 18:23 |
|
||
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
Спасибо, iframe наотрез не устраивает. мне нужно заменить информер на другую, если не отвечает. насчет curl или сокет поищу, по-моему, все поиском смотрел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 18:41 |
|
||
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
On Fri, 02 Oct 09 15:41:23 GMT Avtopic wrote: > iframe наотрез не устраивает. мне нужно заменить информер на другую, > если не отвечает Ну и зря не устраивает. Никто ж не мешает обратиться из iframe к своему серверу, который попытается получить свежий контент (с таймаутом секунд 15...20 или более), а если не получилось, то отдаст что нибудь дефолтовое или последнее из своего кеша (тут возможна гора вариантов). Но страничка то не будет ждать эти 15 секунд, она уже будет отдана и показана клиенту. А до погоды/курсобакса когда ещё дойдёт у него очередь.... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 20:12 |
|
||
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
vkle Ну и зря не устраивает. Никто ж не мешает обратиться из iframe к своему серверу, который попытается получить свежий контент (с таймаутом секунд 15...20 или более), а если не получилось, то отдаст что нибудь дефолтовое или последнее из своего кеша (тут возможна гора вариантов). Но страничка то не будет ждать эти 15 секунд, она уже будет отдана и показана клиенту. А до погоды/курсобакса когда ещё дойдёт у него очередь.... да, но к сожалению не устраивает, не устраивает автора информера, это заложено в договоре, кто знаком как поставщики информеров защищают свой авторские права, поймут, что это не согласуемо сними. сокет по-моему тоже не устраивает, потому что на первый раз, я не нашел там возможности синхронно что-то отслеживать и если время превысит установленное, возможность прервать ожидание от сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 20:29 |
|
||
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
С авторскими правами - это да, не рассматривал их в данном случае... Тогда наверно и использование своего сервера как кэширующего прокси для этого информера тоже не подойдёт и нижеследующее уже не будет актуальным, но всё же, напишу. В самой функции открытия сокета можно установить таймаут для ожидания ответа от сервера, это как раз последний параметр: resource fsockopen ( string $hostname [, int $port [, int &$errno [, string &$errstr [, float $timeout]]]] ) Этим проверим, жив ли сервер вообще. Далее, при чтении из сокета маленькими порциями так же контролируем время. Если получаем скажем 128 байт за секунду или более (очень медленно), то приходим к выводу что получать дальше нет смысла. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 20:54 |
|
||
|
Прервать ожидание файла с другого сервера
|
|||
|---|---|---|---|
|
#18+
ну, спасибо, большое наконец то довели до ошибки, я этот $timeout и так крутил, и так, то 30 присвоил то 500, то 100 я думал это в миллисекундах, оказывается это прямо в секундах. спасибо еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2009, 21:41 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=36230388&tid=1454194]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 459ms |

| 0 / 0 |
