Есть ли способ очистить кэш DNS или принудительно разрешить имя хоста в Adobe AIR / Flash? - PullRequest
3 голосов
/ 09 августа 2009

AIR, похоже, сохраняет свой собственный кэш DNS, когда приложение работает, и игнорирует любые изменения в кеше ОС DNS (т.е. ipconfig / flushdns).

В частности, я создаю несколько объектов URLStream и URLRequest в течение длительного периода времени в приложении AIR. Как только первый из них подключается, IP-адрес хоста кэшируется на весь срок службы приложения. И свойство URLRequest.useCache, понятно, не влияет на кеширование DNS.

Кто-нибудь знает, возможно ли это или как принудительно переопределить имя хоста в приложении AIR (или Flash)?

Примечание. К сожалению, разрешение IP-адреса с помощью веб-службы и перезапись URL-адреса не является альтернативой. Вариант использования - загрузка файлов из Amazon S3 с использованием подписанных URL-адресов, которые становятся недействительными в случае их изменения.

Обновление: результаты теста выше были собраны на WinXP до AIR 1.5.2. Последующие тесты с использованием 1.5.2 показывают, что сериализованные запросы с помощью URLStream.load () разрешаются чаще, но при этом игнорируются значения TTL. Я до сих пор не выяснил, какие условия необходимы для повторного разрешения, но отметил пару случаев, которые мешают этому. Например, если другой асинхронный URLStream активен для того же хоста, тогда запросы используют кэшированный IP-адрес и не разрешаются. И простого закрытия и разыменования всех потоков на хосте недостаточно, чтобы гарантировать, что то же имя хоста будет повторно разрешено в следующем запросе.

1 Ответ

1 голос
/ 12 августа 2009

Это не окончательный ответ, но, похоже, вы можете удалить запись из DNS-кэша AIR, отправив один или несколько запросов другим хостам, перезаписав, таким образом, имя целевого хоста в кэше. Следующий запрос к имени целевого хоста будет затем обработан.

Мне все еще неясно, сколько записей может храниться в кеше DNS. Таким образом, число других запросов может варьироваться, и это делает этот метод сомнительным.

...