SASGIS

Веб-картография и навигация

HTTP-сервер-обменник для тайлового кеша

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение Alexander » 10 янв 2009, 21:07

Alexander писал(а):Разница в скорости MD5 и CRC32 получилась 610 раз, если кого интересует.


Случайно обнаружил ошибку в подсчёте CRC32, оказалось что не инициализировал одну важную переменную )
После перепроверки могу сказать что CRC32 всего в 2 раза быстрее MD5.
Alexander
Соображающий
 
Сообщения: 78
Зарегистрирован: 14 июл 2008, 09:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение zed » 16 янв 2009, 14:53

Значит так, настроил я локальный HTTP-сервер (пакет Denwer), сделал скрипт get.php, добавил в SAS новую карту с URL http://localhost/get.php?id=0&x=0&y=0&z=0 Видимо проблемы со скриптом: по этому URL браузер уверенно выдаёт картинку (или предлагает сохранить, если в заголовке "Content-Disposition: attachment"). SAS же нивкакую... "Такого изображения нет на сервере"
Код: Выделить всё
header("Content-Disposition: attachment");
header("Content-Length: ".$fsize);
header("Content-type: image/jpg");
print $file;

Собственно, как правильно отдать картинку в SAS?

Вот логи прокси сервера при коннекте с оперой и SAS (в обоих случаях данные передаются, судя по монитору HC, но вот SAS эти данные не отображает):
Код: Выделить всё
------------------------------------------------------------------------------------------------
ПРИ КОННЕКТЕ С ОПЕРОЙ
------------------------------------------------------------------------------------------------

16.01.09 13:39:42,250 # 365: Connection from local/127.0.0.1:2574 to HC Version 1.00 RC2 UNSTABLE

16.01.09 13:39:42,265 # 365/465 >>> URL: http://localhost/get.php?id=1&x=0&y=0&z=0
GET /get.php?id=1&x=0&y=0&z=0 HTTP/1.1
User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1
Host: localhost
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: vc=16
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers


16.01.09 13:39:42,265 # 365 <<< URL: http://localhost/get.php?id=1&x=0&y=0&z=0
Connection to localhost:80

16.01.09 13:39:42,265 # 365:  Outbound Connection, Local port: 2575

16.01.09 13:39:42,265 # 365 <<< URL: http://localhost/get.php?id=1&x=0&y=0&z=0
HTTP/1.1 200 OK (from PHP)
Date: Fri, 16 Jan 2009 11:39:42 GMT
Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4
X-Powered-By: PHP/5.2.4
Keep-Alive: timeout=5, max=100
Connection: keep-alive
Content-Type: image/jpg
Transfer-Encoding: chunked

16.01.09 13:39:48,234 # 365:  Outbound Disconnection
16.01.09 13:40:17,984 # 365:  Client Disconnection

-------------------------------------------------------------------------------------------------
А ЭТО ПРИ КОННЕКТЕ С SAS:
-------------------------------------------------------------------------------------------------

16.01.09 13:41:47,281 # 370: Connection from local/127.0.0.1:2609 to HC Version 1.00 RC2 UNSTABLE

16.01.09 13:41:47,281 # 370/471 >>> URL: http://localhost/get.php?id=0&x=0&y=0&z=0
GET /get.php?id=0&x=0&y=0&z=0 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)
Host: localhost
Connection: Keep-Alive
Pragma: no-cache

16.01.09 13:41:47,281 # 370 <<< URL: http://localhost/get.php?id=0&x=0&y=0&z=0
Connection to localhost:80

16.01.09 13:41:47,437 # 370:  Outbound Connection, Local port: 2610

16.01.09 13:41:47,625 # 370 <<< URL: http://localhost/get.php?id=0&x=0&y=0&z=0
HTTP/1.1 200 OK (from PHP)
Date: Fri, 16 Jan 2009 11:41:47 GMT
Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4
X-Powered-By: PHP/5.2.4
Keep-Alive: timeout=5, max=100
Connection: close
Content-Type: image/jpg

16.01.09 13:41:47,640 # 370:  Outbound Disconnection
16.01.09 13:41:47,640 # 370:  Client Disconnection

-------------------------------------------------------------------------------------------------
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение Parasite » 16 янв 2009, 16:35

zed писал(а):Значит так, настроил я локальный HTTP-сервер (пакет Denwer), сделал скрипт get.php, добавил в SAS новую карту с URL http://localhost/get.php?id=0&x=0&y=0&z=0 Видимо проблемы со скриптом: по этому URL браузер уверенно выдаёт картинку (или предлагает сохранить, если в заголовке "Content-Disposition: attachment"). SAS же нивкакую... "Такого изображения нет на сервере"

Поставь не прокси, а сниффер. Отключи прокси. Логи сниффера в обоих случаях (когда работает и когда нет) - сюда.

Кстати, а зачем ты отдаешь тайл через attachment?? В этом может быть все дело, если SAS не отрабатывает такой тип. Попробуй отдавать через форвард (301 Moved permanently)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение zed » 16 янв 2009, 16:44

Кстати, а зачем ты отдаешь тайл через attachment??

Пробую и так и так. Думал, может через аттач возьмёт...
Попробуй отдавать через форвард (301 Moved permanently)

это как?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение Parasite » 16 янв 2009, 16:54

zed писал(а):
Кстати, а зачем ты отдаешь тайл через attachment??

Пробую и так и так. Думал, может через аттач возьмёт...

Это вряд ли. С аттачами напрямую и без обработки напильником мало кто работает.

zed писал(а):
Попробуй отдавать через форвард (301 Moved permanently)

это как?

Это выделять из базы тайл в темп-директорию доступную Апачу (в идеале - виртуальную), а скриптом - форвардить запрос на оный темп-файл. Удалять темп-файл по закрытии коннекта со стороны клиента.
Правда, не знаю - отрабатывает ли САС прямые форварды.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение zed » 16 янв 2009, 17:01

Редирект пашет!
Но очень не хочется веник насиловать темп файлами... как-то можно из переменной выдать картинку?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение Parasite » 16 янв 2009, 17:07

zed писал(а):Редирект пашет!

Дык. Тупо, но эффективно...

zed писал(а):Но очень не хочется веник насиловать темп файлами... как-то можно из переменной выдать картинку?

Я не зря упомянул про виртуальную директорию. :)
Либо можешь сделать рам-диск, если мануалы читать неохота.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение zed » 16 янв 2009, 17:18

Не понимаю в чём глюк: SAS или скрипт?
Вот эта строчка в логе: Connection: Keep-Alive - о чём говорит?
При редиректе оно как раз Alive, а при передачи из переменной Close...
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение Parasite » 16 янв 2009, 18:10

zed писал(а):Не понимаю в чём глюк: SAS или скрипт?
Вот эта строчка в логе: Connection: Keep-Alive - о чём говорит?

Это говорит, что данный открываемый сокет со стороны инициализатора соединения не закрывается по окончании текущей передачи - вплоть до дальнейшего уведомления (вплоть до таймаута).
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: HTTP-сервер-обменник для тайлового кеша

Сообщение zed » 16 янв 2009, 18:20

Что-то SAS ведёт себя очень странно: режим работы Интернет. Зум=0. Двигаю мышкой карту - SAS начинает бешено грузить:

Код: Выделить всё
                          URL                                    Размер    Получено    %     Отпр.    Ответ
16.01.2009/16:00:46   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:47   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:48   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:00:48   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:00:49   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:00:50   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:50   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:50   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:51   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:51   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:52   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:52   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:00:53   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:00:53   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:00:54   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:00:54   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:00:54   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:00:55   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:00:55   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:56   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:56   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/274      100%   186   "200 OK"   
16.01.2009/16:00:56   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:00:57   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:00:57   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:00:57   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:00:58   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:00:58   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/284   100%   185   "200 OK"   
16.01.2009/16:00:59   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:00:59   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:00:59   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:01:00   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:00   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:01   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:01   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:01   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:02   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:02   http://localhost/get.php?id=0&x=0&y=3&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:03   http://localhost/get.php?id=0&x=0&y=2&z=0   14042   14042/285   100%   185   "200 OK"   
16.01.2009/16:01:03   http://localhost/get.php?id=0&x=0&y=1&z=0   22044   22044/285   100%   185   "200 OK"   
16.01.2009/16:01:04   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:01:04   http://localhost/get.php?id=0&x=0&y=0&z=0   18911   18911/285   100%   185   "200 OK"   
16.01.2009/16:01:04   http://localhost/get.php?id=0&x=0&y=-1&z=0   585   585/274      100%   186   "200 OK"   
16.01.2009/16:01:05   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:01:05   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:01:05   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:01:06   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:01:06   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:01:06   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"   
16.01.2009/16:01:06   http://localhost/get.php?id=0&x=0&y=-2&z=0   585   585/273      100%   186   "200 OK"

14!!! запросов по одному URL: http://localhost/get.php?id=0&x=0&y=0&z=0. И SAS пишет "Такого изображения нет на сервере".
В настройках пункт "Повторно пытаться загрузить тайл.." отключён.
Как это вообще понять?

P.S. При редиректе та же фигня, только тайл отображается в SAS.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15