Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.05.2007, 16:28
yana_flash вне форума Посмотреть профиль Отправить личное сообщение для yana_flash Найти все сообщения от yana_flash
  № 1  
Ответить с цитированием
yana_flash

Регистрация: Oct 2003
Сообщений: 74
По умолчанию Загрузка картинки из локальной сети

Пишу приложение на flex. Копии приложения будут располагаться на нескольких выделенных компах в локалке (назовем их серверами). Пользователь должен, зная адрес любого из серверов, зайти на него (через браузер) и запустить мою программу. Программа же, имея список IP всех серверов, должна выдать его пользователю и позволить, обратившись к любому из них, установить с данным сервером сокет-соединение и скачать (не по сокету, а по http) лежащую сервере картинку. Вроде бы не сложно. Сокеты отлично коннектятся и программа по ним обменивается информацией с серверами. На каждом из серверов лежит crossdomain.xml:
Код:
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>
Но почему-то когда я указываю полный адрес картинки, даже той, которая лежит в каталоге, откуда запущено флекс-приложение, мне выдается ошибка:
[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2035: URL Not Found. URL: 111.222.333.444/flash/map.jpg"]

Вот код, которым я гружу картинку:
Код:
public var urlHome:String = "111.222.333.444";
...
Security.loadPolicyFile("http://"+urlHome+"/crossdomain.xml");
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(Event.OPEN, openHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

loader.load(new URLRequest("http://"+urlHome+"/flash/map.jpg"));
Если же я заменяю
loader.load(new URLRequest("http://"+urlHome+"/flash/map.jpg"));
на
loader.load(new URLRequest("map.jpg"));
картинка с сервера прекрасно грузится. Если в строке браузера я ввожу "111.222.333.444/flash/map.jpg" - картинка замечательно загружается в браузер.

В то же время сокет прекрасно коннектится с сервером по IP, прописанному в переменной urlHome.

Что я делаю неправильно? Как сделать так, чтобы картинка считывалась с любого сервера, на который загружен crossdomain.xml ?


Последний раз редактировалось yana_flash; 07.05.2007 в 16:31.
Старый 08.05.2007, 12:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Повесь просто в html картинку с таким полным адресом, покажет или нет.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.