Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Возможный конфликт с LocalConnection (http://www.flasher.ru/forum/showthread.php?t=123984)

eugenk 17.04.2009 16:16

Возможный конфликт с LocalConnection
 
Ситуация такая. Написано приложение на C++ с которым флеш-ролик в броузере общается через LocalConnection. Во флеш-ролике идет свой поток управления, привязанный к действиям пользователя. Хотелось бы время от времени пинговать приложение на C++ на предмет того, что оно всё еще работает. Что я пока придумал, это создать таймер, и посылать запросы приложению на С++ от него. Но тут вот какая непонятка. Что если запрос передаваемый по LocalConnection от таймера, совпадет с запросом от основного потока управления ? Не вызовет ли это конфликта, и если вызовет,как он будет разрешен ? Увы, в документации по этому поводу ничего не сказано. А создать такую ситуацию искуственно чтобы поглядеть что случится - довольно трудно. Никто не подскажет какие тут могут быть потенциальные грабли ?

BlooDHounD 17.04.2009 16:19

сделайте запросы разными. в чём проблема? или я чего-то не понимаю.

alexcon314 17.04.2009 17:10

Наложение двух запросов вещь немаловероятная, как мне кажется на основании опыта использования LC в паре с с++-приложением. Конечно, зависит и от реализации на стороне с++... но, все же сама схема работы LC подразумевает поочередный доступ к некоторой области памяти разных приложений, и тут могут быть проблемы с соблюдением этой самой очередности, синхронизировать доступ - "отдал-принял-отдал-принял", а не "отдал-отдал-принял" - сложно.
Я попытался реализовать такую схему:
команда из флэша уходит в с++;
с++ обрабатывает и шлет ответ, пусть и формальный;
следующая команда из флэша отправляется только после этого.
При большой частоте следования команд из флэша они складываются в массив-очередь, которая прокачивается по приходу ответа из с++.
Впринципе, работало.

eugenk 17.04.2009 20:49

Господа, прошу прощения. Пока ходил по делам понял сам как надо делать. Просто не связываться с LocalConnection на прямую, а делать запросы централизованно, через некоего посредника. Тогда проблем с наложением двух запросов просто не возникнет.

harrisunreal 13.11.2009 15:14

Покажите, пожалуйста, примерчик общения swf c с++ прилагой.

alexcon314 13.11.2009 15:35

Если про LC, то вот http://osflash.org/localconnection


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

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