PDA

Просмотр полной версии : FlashLite и сокеты


yana_flash
15.09.2008, 22:53
Пишу на FlashLite игру, общающуюся с сервером через сокет. Если в процессе игры (например, в ожидании, когда оппонент сделает ход) из-за длительного ожидания подсветка экрана гаснет, а телефон переходит в режим скринсейвера (то есть вместо экрана игры высвечивает "системные" часы), то при нажатии на клавишу и возврате в игру возникает Content Error 4 - программа вылетает по памяти (что понятно - сообщения от сокета идут постоянно, уснувший флэш их не обрабатывает, и когда он просыпается, накопившиеся пакеты переполняют память).

Можно ли средствами флэша не давать телефону перейти в спящий режим? Из похожих функций я нашла только fscommand2("ExtendBacklightDuration",t), позволяющую увеличить время работы подсветки максимум до 1 минуты - но это не спасет, да и поддерживается фича не всеми аппаратами.

Можно ли разрешить флэшу работать в фоновом режиме, чтобы несмотря на уснувший экран, программа бы работала?

Или единственный вариант - отказаться от сокетов, построив клиент-серверное общение через HTTP?

etc
15.09.2008, 23:56
А пинг сделать вы не можете?

DarkLight
16.09.2008, 00:46
Насколько мне известно, значительная доля телефонов с FlashLite не поддерживает сокеты вообще. По поводу обозначенной проблемы - попробуйте копнуть в сторону проектов типа Janus - интеграция FlashLite с Symbian и WinMobile. Там, возможно, есть необходимое API.

yana_flash
16.09.2008, 13:26
А пинг сделать вы не можете?

Вообще-то, клиент и сервер постоянно перепинговываются. Но когда телефон усыпляет флэш-клиента, пингуй-не пингуй...