PDA

Просмотр полной версии : Проблема флэш-чата в Сафари


Vivid
09.07.2007, 14:21
Доброго всем времени.
Эта проблема поднималась уже однажды, но, к сожалению, ответа на нее не было.
Есть флэш-чат, работающий через сокет-соединения с жабовским сервером. В браузерах Windows пашет, а вот в Сафари вылетает с ошибкой подобного типа

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x0000001c

Thread 0 Crashed:
0 <<00000000>> 0x0000001c 0 + 0x1c
1 ...romedia.Flash Player.plugin 0x0711b4ec unuse_netscape_plugin_Plugin + 0x528
2 ...romedia.Flash Player.plugin 0x07128140 Flash_EnforceLocalSecurity + 0xbb08
3 ...romedia.Flash Player.plugin 0x07141dcc Flash_EnforceLocalSecurity + 0x25794
4 ...romedia.Flash Player.plugin 0x071f62b0 Flash_EnforceLocalSecurity + 0xd9c78
5 ...romedia.Flash Player.plugin 0x071f5c38 Flash_EnforceLocalSecurity + 0xd9600
6 ...romedia.Flash Player.plugin 0x071dce7c Flash_EnforceLocalSecurity + 0xc0844
7 ...romedia.Flash Player.plugin 0x072833fc native_ShockwaveFlash_TCallFrame + 0xf490
8 ...romedia.Flash Player.plugin 0x0728b434 native_ShockwaveFlash_TCallFrame + 0x174c8
9 ...romedia.Flash Player.plugin 0x071d7ac0 Flash_EnforceLocalSecurity + 0xbb488



И далее по тексту. Ссылку на чат дать, к сожалению, не могу, доступ к серверу ограниченный. Может подскажете, в чем может быть проблема?
Заранее спасибо

etc
09.07.2007, 14:28
В Safari, конечно.

Vivid
09.07.2007, 14:50
Опытным путем выяснено, что Сафари вылетает, когда получает первое сообщение от сервера, причем даже без всякой его последующей обработки. Получило - вылетело. А обойти это как-то можно?

etc
09.07.2007, 14:52
Это проблема либо плагина, либо самого браузера.

Vivid
09.07.2007, 14:54
Ох, ясно. Будем искать. Спасибо!

etc
09.07.2007, 15:04
Я, кажется, тестил уже чей-то чат с такой же ошибкой.

Vivid
09.07.2007, 15:09
Да, как раз это поиск и выдал. Было нечто подобное, правда, немного другой формат ошибки. Ответа там, к сожалению, так и не было. Кстати, может подскажешь, в каких ситуациях Сафари вылетает? Насколько я понимаю, у него вообще проблемы с флэшем и иногда даже установка последней версии плейера, допустим, не помогает

etc
09.07.2007, 15:14
Да не сказал бы, что нестабилен. В целом с флешем нормально все, но вот с сокетами может глючить…

Vivid
09.07.2007, 15:45
Да, жалко что именно с сокетами и глючит ( Удалось найти, что падение Сафари с флэшем может происходить, если нет поддержки QuartzExtreme/CoreImage. А QE/CI зависит от драйверов видео. Просто я уже не знаю, что заказчику писать, чтобы у него все "работало и летало"

etc
09.07.2007, 15:57
Поставить драйвера, конечно.
Хотя причем тут QE/CI, как-то совсем непонятно.

Vivid
09.07.2007, 16:08
Вот и я про то же. А не подскажешь, что за дрова должны стоять? Я с Маками, если честно, вообще первый раз сталкиваюсь в таком контексте

etc
09.07.2007, 16:11
Вообще-то дрова сама Mac OS ставит, QE/CI обычно всегда работает. Скорее всего проблема не в этом…

Vivid
09.07.2007, 16:20
Хм...Мне сначала тоже думалось, что может проблема в самом чате, использовании памяти. Поэтому выкинулся весь фунционал и оставлен только отправка и прием сообщений. Успевает установить коннект, можно даже что-то написать, но как только приходить сообщение от сервера - тут же вылетает. Поэтому не думаю, что проблема в чате, остается только работа Сафари с флэшем, в частности, с сокетами

Vivid
09.07.2007, 16:48
Проблема по-прежнему остается :( Может кто-нибудь подскажет, как можно хотя бы выловить ошибку, чтобы попытаться ее решить?

Vivid
11.07.2007, 13:55
Проблема решена. Оказывается, Сафари не принимает код, что-то типо

if (!_root.socketIn.connect(_root.serverHost, _root.serverPort)) {
_root.connectIn_txt.text = "False";
}

При реконнекте, нужно писать

_root.socketIn.connect(_root.serverHost, _root.serverPort);
if (!socketIn.connect(_root.serverHost, _root.serverPort)) {
_root.connectIn_txt.text = "False";
}

Хотя, в IE эта фишка прокатывала.
Зато теперь вылезла другая проблема, в Сафари не воспринимается функция new Color(_root.input_txt).setTransform, которую я использую для инвертации текстового поля, ибо фон у меня черный и тогда выделение букв не видно. Может с этим кто-нибудь сталкивался?