Разработка интерактивных учебных материалов во FLASH с использованием метода хранения данных на стороне клиента в клиент-серверных приложениях
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ие объекты имеют определенные ограничения, которые следует обязательно учитывать при проектировании приложений. В некоторых случаях SWF-файлам запрещено записывать локальные общие объекты. Иногда данные, хранящиеся в локальных общих объектах, могут быть стерты без вашего ведома. Пользователи Flash Player могут управлять дисковым пространством, доступным отдельным доменам или всем доменам. Когда пользователи уменьшают объем доступного дискового пространства, некоторые локальные общие объекты могут быть удалены. Пользователи Flash Player также снабжены элементами управления конфиденциальностью, которые могут запретить сторонним доменам (другим доменам, отличным от домена, указанного в текущий момент в адресной строке обозревателя) чтение или запись локальных общих объектов.файлы, хранящиеся и запускаемые не на удаленном сервера, а на локальном компьютере, всегда могут записывать на диск сторонние общие объекты. Рекомендуется проверять наличие сбоев, связанных с объемом дискового пространства и настройками конфиденциальности пользователей. Выполняйте данные проверки при вызове getLocal() и flush():.getLocal() - если вызов этого метода приводит к сбою, проигрыватель Flash Player создает исключение. Сбой может произойти, если пользователь отключил сторонние общие объекты, а домен SWF-файла не совпадает с доменом в адресной строке обозревателя..flush() - при неудачном вызове данного метода проигрыватель Flash Player создает исключение. При успешном вызове он возвращает SharedObjectFlushStatus.FLUSHED. Если требуется дополнительное дисковое пространство, он возвращает значение SharedObjectFlushStatus.PENDING. Пользователь Flash Player получает предупреждение о необходимости увеличить доступное пространство для локально сохраняемой информации. Соответственно, событие netStatus отправляется с информационным объектом, указывающим на сбой или успех проведенной очистки.
При попытке SWF-файла создать или модифицировать локальные общие объекты следует убедиться в том, что ширина этого SWF-файла составляет не менее 215 пикселов, а высота - не менее 138 пикселов (это минимальные размеры для отображения диалогового окна, предупреждающего пользователя о необходимости увеличить место для хранения локальных общих объектов). Если данный SWF-файл меньше указанных размеров, но при этом увеличение пространства для хранения все же требуется, происходит сбой SharedObject.flush(), после которого возвращается значение SharedObjectFlushedStatusPENDING и отправляется событие netStatus.
Удаленные общие объекты. При работе с Flash Media Server можно создавать и применять удаленные общие объекты, которые совместно используются в режиме реального времени всеми клиентами, подключенными к вашему приложению. Если какой-либо клиент изменяет свойство удаленного общего объекта, то данное свойство меняется для всех подключенных клиентов. Удаленные общие объекты можно использовать для синхронизации клиентов (например, игроков в многопользовательской игре).
Каждый удаленный общий объект имеет свойство data, которое представляет собой объект со свойствами, в которых хранятся данные. Чтобы изменить свойство объекта данных, вызовите setProperty(). Сервер обновляет свойства, создает событие sync и отправляет свойства обратно подключенным клиентам.
Удаленным общим объектам можно задать постоянство: на клиенте, на сервере или сразу на обоих объектах. По умолчанию проигрыватель Flash Player сохраняет постоянные локальные общие объекты удаленного типа, размер которых не превышает 100 килобайт. При сохранении более крупного объекта Flash Player отображает диалоговое окно "Локальное хранение", в котором пользователь может разрешить или запретить локальное хранение общего объекта. Убедитесь в том, что габаритные размеры используемой рабочей области составляют не менее 215х138 пикселов. Это минимальный размер, необходимый Flash для отображения диалогового окна [7].
Если пользователь выбирает параметр Allow, сервер сохраняет общий объект и отправляет событие netStatus со свойством code, имеющим значение SharedObject.Flush.Success. Если пользователь выбирает параметр Deny, сервер сохраняет общий объект и отправляет событие netStatus со свойством code, имеющим значение SharedObject.Flush.Failed.
2.2 Описание объекта SharedObject.getLocal()
Ссылку на shared object, хранящийся локально и доступный только данному клиенту. В случае, если Flash не может найти shared object (например, если параметр localPath определен, но такого пути не существует), возвращается null. Метод; возвращает ссылку на shared object.
Чтобы избежать конфликта имен, Flash хранит SO, созданные разными SWF файлами, раздельно, то есть если SWF файл в www.myCompany.com/apps/stockwatcher.swf создает shared object portfolio, то данный shared object не будет конфликтовать с SO portfolio, созданным SWF роликом www.yourCompany.com/photoshoot.swf, т.к. файлы, их создавшие, принадлежат разным директориям.
Хотя параметр localPath является необязательным, разработчикам стоит задуматься о его использовании, особенно если несколько роликов требуют доступ к одному shared object. Если данные в shared object связаны с одним SWF файлом, который не будет перемещен или переименован, использование значения по умолчанию имеет смысл. Если же SWF файлам необходим доступ к одному shared object или SWF файл, создающий shared object, в будущем будет перемещен, значение этого параметра может повлиять на то, получат ли SWF файлы доступ к shared object. Например, если Вы создаете shared object с параметром localPath, имеющим значение по умолчанию, прочие SWF файлы смогут получить доступ к shared object. Если после этого оригинальный SWF будет перемещен, то другие SWF файлы не смогут получить доступ к данным, уже находящимся в shared object.