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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.04.2009, 21:57
IDimitry вне форума Посмотреть профиль Найти все сообщения от IDimitry
  № 1  
Ответить с цитированием
IDimitry
Banned
[+5 23.05.09]
[+1 23.05.09]

Регистрация: Mar 2009
Сообщений: 93
По умолчанию Блокировка флешки сервером

Скорее, вопрос про неудобство, нежели о проблеме.

Есть сайт с флешкой, отдельно не тестируется, так как со страницы передаются нужные параметры, да и стадия подготовки обязывает. Для соединения флеша с сервером использую сокет с постоянным соединением (Comet), в качестве веб-сервера использую Tomcat (6.0.18), тестирование на локалхосте. При внесении изменения во флешку компилирую, в браузере выхожу со странички с флешкой, захожу снова на страничку - подгружается обновленная флешка (вызов не из кеша, использую рамдомный параметр).

Вот в чем вопрос: когда я нахожусь на страничке с флешкой после запуска сервера, могу флешку компилировать любое количество раз. Но как только выхожу с этой странички, ОС блокирует удаление и перезапись файлика. При смене страницы в сокете рвертся соединение, сервер нормально отлавливает событие ERROR с субсобытием CLOSE_CONNECTION, которое я легко отрабатываю и корректно закрываю. Однако флешка на сервере по-прежнему остается заблокированной пока либо не перезагружу сервер, либо не закончится сессионный таймаут. Что интересно, что если происходит закрытие окна браузера, флешка по-прежнему остается заблокированной. Отладка получается несколько неудобной, так как могу только дважды компильнуть флешку, после чего надо снова перегружать Томкет. Не так давно стоял более старый Томкет - 6.0.9 - блокировок не возникало (правда, в нем отработка закрытия клиентского коннекта работала некорректно - только через эксепшн).

На всякий случай попробовал ручками закрывать коннекты: перехожу на другую страницу, а на кнопку/ссылку ставлю вызов функции AS, где корректно закрываю сокет и даже обнуляю переменную (уже дошел до абсурдных мелочей в попытках разрушить связь).
На сервере при закрытии соединения закрываю не только соединение (типа CometEvent), но даже writer HttpResponse'а.

Возможно, кто-то сталкивался с такой ситуацией и знает как приготовить микстуру.

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

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

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


 


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


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