Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   {mdm}Zinc (http://www.flasher.ru/forum/showthread.php?t=81193)

KUZEN 23.11.2006 16:51

Вопрос решён mdm.Forms.MainForm.x

alexcon314 23.11.2006 18:38

Как же с темой Zinc + FCS? Я извиняюсь за возможную навязчивость.
В доках по FCS говорится, что server-side скрипты можно оформлять и как .asc и как .js файлы. Что это означает? С .asc понятно, а с .js - что это, файлы javascript? Тогда, далее, можно ли написав javascript-файл заставить сервак работать с его локальной файловой системой при помощи объектов javascript? Или я совсем не туда уперся? Про sharedObject я не говорю - тут ясно. Или если вернуться к .asc файлам: сработает ли fscommand в таком файле? И по встроенным as-классам - допускается ли их использование в .asc сценариях?
Понимаю, что все можно проверить и прочитать где надо самому, но на что тогда форумы :) ?

KUZEN 23.11.2006 23:20

Я в этом вопросе не компетентен, подождём тех кто уже делал подобное

Dendroid 24.11.2006 06:28

Цитата:

Сообщение от alexcon314
Как же с темой Zinc + FCS? Я извиняюсь за возможную навязчивость.

Тут главное понимать, что FCS - это просто сервер для realtime collaboration, поддержки асинхронных соединений между сервером и флэшем - очень нишевый продукт. Его нельзя рассматривать как "универсальное средство для написания серверных частей на AS".
Цитата:

Сообщение от alexcon314
В доках по FCS говорится, что server-side скрипты можно оформлять и как .asc и как .js файлы. Что это означает? С .asc понятно, а с .js - что это, файлы javascript? Тогда, далее, можно ли написав javascript-файл заставить сервак работать с его локальной файловой системой при помощи объектов javascript?

Очень странные выводы. Способность понимать какой-то скриптовый язык не переносит автоматически всю функциональность этого языка и его объекты работы с окружением на интрепретатор - это просто средство оформления потока исполнения. FCS не предназначен и не может работать с сервером и его файловой системой, для этого исплользуются getaways - шлюзы для вызова серверных приложений: Coldfusion, Amfphp, Flash Remoting. Нравится javascript - смотрите в сторону ASP.
Цитата:

Сообщение от alexcon314
Или я совсем не туда уперся? Про sharedObject я не говорю - тут ясно. Или если вернуться к .asc файлам: сработает ли fscommand в таком файле? И по встроенным as-классам - допускается ли их использование в .asc сценариях?

На самом деле .asc имеет весьма отдалённое сходство с .as (по большому счёту, это всего лишь типы данных, ключевые слова и объект Math). Даже вызовы к sharedObject оформляются по-другому, и работает он немного иначе, и формат на диске у него другой. Ни о каких fscommand и речи нет, чего там вызывать, и главное - у кого? А переделать .as в .asc - обычно задача нетривиальная, если там не просто абстрактные математические функции...
Цитата:

Сообщение от alexcon314
Понимаю, что все можно проверить и прочитать где надо самому, но на что тогда форумы :) ?

:bye:

alexcon314 24.11.2006 08:31

Спасибо за исчерпывающий ответ. Вы сэкономили мне массу времени :) . Что-то подобное я и подозревал.
А почему флэш (macromedia) так чурается работы с файловой системой? (глупый вопрос)

alexcon314 26.11.2006 21:11

К FCS думаю еще вернемся. А сейчас хотелось бы обсудить возможностей классов mdm Script таких как mdm.FTP() mdm.HTTP(), а также объектов класса mdm.Network(HTTPD, Mail, UDP, TCP, UDP.TFTP, UDP.Socket, TCP.FileServer). С сокетами я работал вполне успешно. А вот по серверам FTP, FTPD, HTTP, TCP.FileServer вопрос такой: насколько они надежны и стабильны в работе? как обстоят дела с количеством подключений, держат ли они нагрузку какую? Все применительно к локальной сети. Дело в том, что манит простота их организации, но не обманет ли? :)

alexcon314 26.11.2006 23:24

C классами mdm.FTP и mdm.HTTP я пожалуй погорячился. С их помощью в приложение можно встроить соответствующих клиентов, не более, если верить документации. А вот по поводу объектов в классе mdm.Network вопрос остается открытам.. Меня, как вы, наверно, поняли, интересует возможность организации собственного сервера на этих объектах. Есть мысли по поводу mdm.Network.TCP.FileServer и mdm.Network.UDP.TFTP - использовать их для работы с файловой системой сервера или как дополнение к FCS для тех же целей.

alexcon314 28.11.2006 17:04

Из приведенных выше классов и объектов mdm меня наиболее вдохновил
mdm.Network.HTTPD - на его основе реально поднять свой сервер приложений(!). По крайней мере, в принципе. Насколько это будет реальный сервак - нужно экспериментировать, а может кто уже и сталкивался? Отзовитесь :)! Кому интересно даю ссылку на топик в форуме mdm, где приводится кусок рабочего кода - заготовки для такого сервера: http://www.mdmforum.com/forum/index....13492&hl=httpd. Интересный результат получится если его немного поправить:
getThis = "c:\\var\\Apache2\\htdocs\\index.htm";
mdm.Network.HTTPD.setResponse(mdm.FileSystem.loadFile(getThis), ASYNC);
Если ввести в адресную строку браузера http://127.0.0.1:8080/, то будет возвращена страница из htdocs апача! (путь к хтмл-у конечно может быть и другой :)). А если http://127.0.0.1:8080/<что-нибудь>?<par1=..&par2=..> можно видеть как "сервак" "парсит" строку запроса..
Не знаю как на остальных, а на меня это произвело неизгладимое впечатление :). Кроме того, в строке запроса можно напрямую отдавать команды свф-у внутри цинк-экзешника-сервера. Круто!

alexcon314 28.11.2006 23:12

Здравствуйте еще раз. Если кто посмотрел скрипт в топике mdm форума (см. выше), возможно задался вопросом: что за константа ASYNC такая? В доках о ней вроде я ничего не видел (надо еще глянуть :)). Неожиданно быстро получил ответ на том же форуме:
"mdm.ASYNC is a switch, it should does not matter what value it has, it imply a constant that could be provided as last argument (additional to required arguments in given method) - if provided ZINC tries to execute invoked method in async way - that is wrapper return immadiately letting next line of flahs code to execute, it is appliable only for methods that are type of Void - that is they do not return anything, using it for methods
that are expected to provide results (say like mdm.Database.MSAccess.getData()) does not make sense - because there
is no other way to get results from {mdm} script v.2 methods in async way (unless explicitely introduced by "events" methods for some objects - say like mdm.Browser.onDocumentComplete)"
B еще :
"Synchronous API Considerations (When changing to {mdm}script v2)
While {mdm}script 2.0 by default is synchronous, in some cases you might want to make the calling of a method asynchronous. This allows the flash player to continue its playback and scripting while the Zinc method is busy.
To make any {mdm}script 2.0 call asynchronous, you must add one more parameter to the end which defines it as such:

Synchronous call: mdm.Dialogs.prompt(“Hello”);
Asynchronous call: mdm.Dialogs.prompt(“Hello”,mdm.ASYNC);
NOTE: {mdm}script 1.0 calls are Asynchronous."
А здесь http://www.mdmforum.com/forum/index....73&#entry81773 есть отличный пример использования с progressbar'ом. Без ASYNC привязать процесс к progressbar'у в цинке наверно не получится..

alexcon314 15.01.2007 17:17

Здравствуйте. Небольшое сообщение на тему "правая кнопка" (наверно, перемещать не стоит)
Код:

onEnterFrame=function(){
        if (Key.isDown(2)) {
        //(code) by ex.: your_ShowMenu_function(); or broadcasterObj.broadcastMessage("onRightClick");
        }
}

Известный, наверное, многим способ отлова правого клика. Например, чтобы задействовать контекстное меню.
В цинке есть свой объект контекстного меню, но оно имеет сугубо виндовый внешний вид и не поддается кустомизации, вложенный пункт в него не встроишь... Но что хорошо в цинке - напрочь глушится стандартное контекстное меню проигрывателя :). Вышеприведенный код позволяет вывыводить меню любого вида (какое нарисуете) и любого содержания. Я, например, использую mx.controls.Menu. Надо только при компиляции в цинке указать Right Mouse Button Ignored. Именно, Ignored. Иначе, стандартное меню вывалится-таки.. Вобщем, цинк здесь на высоте :).
Есть еще пример, как прикрутить прогрессбар к файловым операциям и примерчик типа "hello world" на тему разработки своих dll для цинка, но не сейчас..


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

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