flashdocs.net: все о macromedia flash 5, mx, 2004 pro, 8. Обучение: flash статьи flash уроки flash исходники flash софт, faq, а также flash мульты и flash игры
Все о Macromedia Flash 8 mx 2004 pro! Все о Flash! Обучение flash уроки, flash статьи, flash исходники, flash soft, flash форум, flash документация и многое другое! Все что нужно будущему flasher.
     
 Навигация

Главная

:Обучение:

Статьи
Уроки
Исходники
Flash-Софт
FAQ

:Flash-развлечения:

Flash-игры
Flash-мульты



:Добавить на сайт:


Уроки
Исходники и Flash-soft
Новость
Ссылку
Мульт или игру


:Разделы:

Форум
Ссылки
Управление аккаунтом
Поиск

:Услуги сайта:

Платные услуги сайта
 Поиск
Поиск по сайту

 Баннеры

Вы можете разместить наш баннер на своем сайте. У нас есть баннеры различных размеров и форматов.

Пример

[ все баннеры ]
 Друзья
> Flash Blog
> Верстка и Дизайн
> Документация ко всему
> Flash-Город!
Pages

Использование XML

Использование объекта XMLSocket


Итак, мы узнали, как можно передать данные серверной программе и получить от нее ответ. Теперь мы можем создавать свои собственные системы анкетирования посетителей своего Web-сайта, почтовые сервера, электронные магазины и пр. Осталось только написать серверное приложение, которое будет обрабатывать данные, но это выходит за рамки настоящей книги.

А теперь давайте выясним, как происходит пересылка данных серверному приложению. Распишем этот процесс по шагам.

1. Приложение Flash, отправляющее данные, устанавливает сетевое соединение с Web-сервером.

2. Приложение Flash отправляет данные серверному приложению через Web-сервер.

3. Web-сервер подтверждает принятие данных.

4. Приложение Flash разрывает сетевое соединение с Web-сервером. Передача данных закончена.

Точно так же серверное приложение (через Web-сервер) передает ответ приложению Flash.

He будем рассматривать обратную передачу. Поговорим о

другом.

Способ передачи, рассмотренный нами выше, годится для отправки данных серверной программе, осуществляющей обработку анкет или покупательской "корзины". Сетевое соединение устанавливается на короткий промежуток времени, необходимый только для передачи данных в одну сторону, и после этого разрывается.

Но иногда между клиентским и серверным приложениями требуется организовать продолжительный обмен информацией. Такое может понадобиться, например, при организации системы сетевой "болтовни" (или "чата", от английского chat), когда текстовые сообщения посылаются постоянно от сервера клиенту и от клиента серверу. Если для передачи каждого сообщения создавать, а потом разрывать сетевое соединение, сильно пострадает быстродействие системы, что вряд ли понравится любителям почесать языки. Поэтому в таких случаях устанавливается постоянное сетевое соединение, которое будет открыто столько времени, сколько нужно.

Flash для поддержки постоянных сетевых соединений предоставляет объект XMLSocket. С помощью этого объекта вы можете открывать постоянное со­единение, закрывать его, когда оно станет ненужным, передавать и принимать через него данные.

Данные по постоянному соединению, как вы уже поняли, передаются в виде документа XML. Для создания документа XML используется уже знакомый вам объект xml, экземпляр которого вы должны создать и "заполнить" необходимыми данными.

И еще. Для прямого сетевого обмена нужны особые серверные приложения. Эти приложения работают сами по себе, а не под управлением Web-сервера, Вопросы написания таких приложений рассмотрены в соответствующей литературе.

Для организации постоянного сетевого соединения между клиентским приложением Flash и серверной программой нужно, прежде всего, создать экземпляр объекта XMLSocket.

myXMLSocket = new XMLSocket();

Чтобы открыть соединение, используйте метод connect. Формат этого метода таков:

<Экземпляр объекта XMLSocket>.connect(<Интернет-адрес>, <Порт>) ;

Первым параметром передается интернет-адрес - внимание! - сервера, на котором работает серверное приложение. Вы также можете передать в качестве параметра null для соединения с сервером, откуда был загружен файл с приложением Rash. Вторым параметром передается номер порта - своеобразного виртуального канала, по которому передаются данные. Всего доступно 65535 портов, но Flash может использовать для создания постоянных соединений только порты с номерами 1024 и выше.

Метод connect возвращает true, если создание постоянного соединения успешно начато. В противном случае возвращается false.

myXMLSocket.connect("socket.site.ru", 2048);

Сразу после установления постоянного соединения наступает событие connect. Функция-обработчик этого события должна принимать один логический параметр. Если этот параметр равен true, то соединение успешно установлено, и можно начинать обмен. Если же он равен false, удача отвернулась от вас.

myXMLSocket.onConnect = function(success) {

if (success) {

gotoAndStop(chat);

} else { gotoAndStop(error);

}

}

Для отправки данных используйте метод send. В качестве единственного параметра этого метода передается ссылка на экземпляр объекта xml, содержащего нужные данные.

myXMLSocket.send(myXML);

Сразу после приема данных от серверной программы наступает событие xml. Функция-обработчик этого события должна принимать единственный параметр - ссылку на экземпляр объекта xml, содержащего информацию, принятую от серверной программы.

myXMLSocket.onXML = function(request) {

txtOutput += request.firstChild.firstChild.nodeValue;

}

Для закрытия постоянного соединения вам нужно вызвать метод close. Этот метод не принимает параметров.

myXMLSocket.close ();

Постоянное соединение может быть также разорвано серверной программой. Другие причины разрыва постоянного соединения: авария сети, ошибки в программном обеспечении и др. Для того чтобы корректно обработать разрыв соединения, объект XMLSocket предоставляет событие close.

myXMLSocket.onClose = function() {

gotoAndStop(connectionClosed);



Автор: GRINDERS (перевел с англ.)

Дата публикации: 2004-09-16 (2839 Прочтено)

Остальные материалы раздела Использование XML
  • XML.attributes
  • XML.loaded
  • XML.load
  • Использование объекта XML
  • Вводный курс языка XML
  • Использование данных XML (введение)

    [ Назад | Начало ]

  • Created by GRINDERS © 2002
    Copyright © flashdocs.net 2002-2005
    Внимание! Материалы с нашего портала брать для своего сайта без разрешения главного администратора КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ!
    Портальная система edogs-nuke
    15 запросов к базе данных.
    Карта сайта, каталог сайтов

    Rambler's Top100