|
|
|||||
Banned
|
Как обойти систему безопасности ?
Задача такая. На компьютере запущено некое приложение на С++, главное предназначение которого читать поток данных с некоего устройства и выдавать его по TCP/IP в какой-то зарезервированный порт на локальном хосте. Флеш-ролик должен брать данные из этого порта и работать с ними. Этот ролик должен загружаться с удаленного сайта. Сделать это препятствует система безопасности, не позволяющая объектам из remote sandbox обращаться к локальным объектам. Вопрос как её обойти наиболее красивым способом ? У кого какие соображения ?
P.S. Задачу можно сформулировать так. Как передать поток данных с некоего подключенного к компьютеру устройства, удаленному флеш-ролику ? P.P.S. Только не надо говорить мне что это невозможно и объяснять почему. Курчатов в такой ситуации сказал одному из сотрудников "Меня не интересует почему это невозможно, меня интересует как это сделать". Я вижу по крайней мере два способа это сделать, увы оба достаточно уродские. 1) Передавать поток данных с устройства прямо на удаленный хост, а с него уже в ролик. 2) Сделать ролик-посредник, собирающий локальные данные по TCP/IP прописав его как Local Trusted и коннектиться с ним удаленным роликом через LocalConnection. Оба способа по ряду причин меня не удовлетворяют. Спрашивается, что в этой ситуации можно предпринять ещё ? |
|
|||||
loading 50%
|
Запустите сервер для этого порта на хосте и собственно все.
|
|
|||||
Banned
|
Да, это как раз и есть первый из перечисленных мной способов. Гнать прямо на удаленный хост, а с него уже в ролик. К сожалению во-первых такой сервер придется ещё писать, и он будет не слишком простым, учитывая что клиентов к нему может быть подключено много. Во-вторых это технология уже выходящая за рамки CGI и далеко не факт, что владелец хостинга разрешит такой сервер поставить. Так что увы, не годится.
|
|
|||||
loading 50%
|
eugenk, может я чета сильно не понимаю...
1/есть локаль - ваше приложение 2/есть некий порт компьютера, использующийся в качестве источника данных для флешки 3/загруженная флешка к этому источнику данных локально обратиться не может 4/делаем нужный порт (источник данных) доступным через веб как хост - для этого на локальном компе должен быть установлен веб сервер - писать его заново не надо, поскольку есть стандартные решения 5/ флешка обращается к этому хосту 6/ все замечательно работает Последний раз редактировалось aksios; 09.10.2008 в 21:25. |
|
|||||
Banned
|
Согласен, всё это будет работать. Проблема в том, чтобы уговорить владельца хостинга поставить дополнительный сервер, открывающий какой-то совершенно левый порт. Если у тебя выделенный хост, то да, никаких проблем. Но если у тебя обычный виртуальный хостинг как у простого смертного, этот способ увы не подходит. Сейчас начал смотреть параллельную ветку форума про air, zink и т.п. Возможно решение в том, чтобы в эту прогу на C++ включить плеер в качестве ActiveX компонента и через него уже вязаься с внешним роликом.
|
|
|||||
loading 50%
|
Какая разница запустить на локальном компьютере одно приложение или по сути два? Причем тут хостинг? - Где у меня про хостинг написано?
Если вы дистрибутцией готовы решить проблему, что я собственно и подозревал - сделайте так. |
|
|||||
Banned
|
А... Извиняюсь. Понял. Установить тот же деневер хотя бы. Создать в нем сайт с каким-то совершенно левым и заведомо неконфликтным именем и гнать данные уже оттуда, якобы как с удаленного хоста. Я правильно понял ? Не знаю если честно будет ли это работать. Очень может быть что да. Хотя и несколько коряво, но всяко лучше чем придумал я. Но вопрос снимается ибо я тут в параллельной ветке отыскал оптимальное решение.
http://www.flasher.ru/forum/showthread.php?t=107547 Оказывается можно довольно легко эмулировать LocalConnection на С++. Это наиболее красиво решает мою проблему. |
Часовой пояс GMT +4, время: 12:45. |
|
« Предыдущая тема | Следующая тема » |
|
|