ОБНОВЛЕНИЕ + РЕШЕНИЕ ======================================
Извините, что выкладываю решение здесьвместо комментариев, но что-то в фильтрации моей работы не позволяет мне работать с комментариями.
В итоге я использовал свойство -b 0.0.0.0 в jboss для привязки ко всем адресам, поэтомуЯ мог бы попытаться получить доступ к серверу машины A с машиной B в качестве клиента, и наоборот.Я обнаружил, что он всегда не загружался при работе на машине B, независимо от того, подключался я с A или B.
Я запустил wireshark на машине с Windows в той же сети и обнаружил соединение TCP, которое былозагрузка веб-страницы.Я видел, что запрос на .swf в тех случаях, когда он терпел неудачу, имел длину контента около 2 миллионов или около того, и когда я щелкал правой кнопкой мыши журналы wireshark и выбрал «просмотреть беседу» или что-то в этом роде, размер всего разговорачтобы получить .swf файл был только 130 000.Глядя на about: cache, он был примерно равен тому, что заканчивалось кэшированием, прежде чем сказать «Done» на странице.
Я обнаружил, что есть ошибка со свойством useSendFile.(http://community.jboss.org/thread/148651?tstart=0). Это заставляет его отправлять только часть файла, если у вас недостаточно памяти ядра. Использование useSendFile = "false" в нашем server.xml, похоже, решило проблему.
=====================================================
Исходная проблема:
У меня есть флэш-файл .swf, который периодически загружается в Firefox на Solaris 10. Я пробовал Firefox 2 и 3 и Flashplayer 10 и 10.1 на различных уровнях исправлений Solaris,и никто не работал последовательно. Кажется, это проблема с кешированием, но я не знаю, что мне нужно сделать, чтобы это исправить.
После запуска Firefox с недавно очищенным кешем и перехода на мою веб-страницу (на localhost), который содержит SWF, я вижу, что Firefox делает GET-запрос к серверу JBoss для получения файла SWF.Тип содержимого правильно распознается как application / x-shockwave-flash, а contentLength ответа - 2240830.со статусом 200, означающим, что весь файл был отправлен. После этого ответа страница отображается в видеack фон со вспышкой «Загрузка», заполнение которой составляет около 5%.В этот момент я ожидал, что он появится, потому что он получил полный файл.
Когда я перейду к about: cache после этого и посмотрю на записи Disk Cache, я вижу «Размер данных»196608 байт, поэтому кажется, что он кэшировал только часть файла.
Поскольку он не загружен в окне, я обновляю браузер.Я вижу его запрос в поле байтов диапазона заголовка «196608 -», так что похоже, что он запрашивает то, что он не кэшировал.Сервер приложений отвечает с правильным типом содержимого, состоянием 206 (частичное содержимое) и длиной 2044222. Обновляя кэш, он теперь указан как 393216 байт.
Я делаю еще одно обновление, получаю другое частичноеответ на контент, а затем мой флэш-файл загружается.В about: cache я вижу размер данных 2240830, размер исходного ответа со статусом 200.
Почему мой флэш-файл не загружается после первого ответа (тот, который имеет статус 200 OKчто вернул полный файл).Почему он кэширует только часть этого файла и почему он не запрашивает автоматически остальную часть файла?
Все отлично работает при установке Windows с той же версией файла .swf, той же версиейсервер приложений и та же версия Firefox и Flash Player.
РЕДАКТИРОВАТЬ: Так как у меня возникают проблемы с отправкой комментариев в ответ, я просто добавлю сюда.Отладочной версии для Solaris не существует.У меня есть один на Windows, но там работает нормально.Он работает на Solaris после нескольких обновлений, и неправильный размер кеша в Firefox заставляет меня поверить, что это, вероятно, проблема с кешированием.