![]() |
Возможный конфликт с LocalConnection
Ситуация такая. Написано приложение на C++ с которым флеш-ролик в броузере общается через LocalConnection. Во флеш-ролике идет свой поток управления, привязанный к действиям пользователя. Хотелось бы время от времени пинговать приложение на C++ на предмет того, что оно всё еще работает. Что я пока придумал, это создать таймер, и посылать запросы приложению на С++ от него. Но тут вот какая непонятка. Что если запрос передаваемый по LocalConnection от таймера, совпадет с запросом от основного потока управления ? Не вызовет ли это конфликта, и если вызовет,как он будет разрешен ? Увы, в документации по этому поводу ничего не сказано. А создать такую ситуацию искуственно чтобы поглядеть что случится - довольно трудно. Никто не подскажет какие тут могут быть потенциальные грабли ?
|
сделайте запросы разными. в чём проблема? или я чего-то не понимаю.
|
Наложение двух запросов вещь немаловероятная, как мне кажется на основании опыта использования LC в паре с с++-приложением. Конечно, зависит и от реализации на стороне с++... но, все же сама схема работы LC подразумевает поочередный доступ к некоторой области памяти разных приложений, и тут могут быть проблемы с соблюдением этой самой очередности, синхронизировать доступ - "отдал-принял-отдал-принял", а не "отдал-отдал-принял" - сложно.
Я попытался реализовать такую схему: команда из флэша уходит в с++; с++ обрабатывает и шлет ответ, пусть и формальный; следующая команда из флэша отправляется только после этого. При большой частоте следования команд из флэша они складываются в массив-очередь, которая прокачивается по приходу ответа из с++. Впринципе, работало. |
Господа, прошу прощения. Пока ходил по делам понял сам как надо делать. Просто не связываться с LocalConnection на прямую, а делать запросы централизованно, через некоего посредника. Тогда проблем с наложением двух запросов просто не возникнет.
|
Покажите, пожалуйста, примерчик общения swf c с++ прилагой.
|
Если про 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.