ЗАДАНИЕ XXX

Тема: Работа с сетью (обмен моделей переменными по сети).
Цель: Краткое знакомство с сетями в среде Stratum.

Перед началом работы необходимо:

владение основными приемами работы в MS Windows
владение основными приемами работы в Stratum 2000


Основные сведения о сетях

Среда Stratum 2000 поддерживает работу с сетями по протоколу TCP/IP используемом в сети Internet. Для связи с другим компьютером необходимо знать его IP адрес (цифровой адрес компьютера в сети Internet записывается в виде четырех трехзначных цифр через точку например - 195.19.166.130). В дальнейших версиях возможна поддержка других протоколов. Всю систему по работе с сетями можно представить следующим образом:

Функция для работы с сетью

Вся работа с сетью осуществляетсяиспользованием одной функции RegisterNetObject. Функция позволяет соединить переменные одного имиджа на локальной машине c переменными имиджа на удаленной машине. Эту функцию используют два имиджа Network_Client_Object и Network_Server_Object. Эти имиджи очень похожи. Отличие состоит в том, что в Network_Server_Object не указывается адрес компьютера с которым произойдет соеденение. Наличие этих двух имиджей говорит о том, что любой сетевой проект будет состоять из двух моделей: модели сервера и модели клиента. Основное отличие состоит в том, что клиент подсоеденяется к серверу по IP адресу, а сервер только обрабатывает подсоеденения. Каждый из имиджей может работать в одном из режимов: режиме приема переменных или режиме передачи переменных. Для реализации двухстороннего обмена в модели необходимо наличие двух имджей один из которых будет работать на прием а другой на передачу.

Имидж Network_Client_Object выглядит следующим образом.

Иконка имиджа Название имиджа Переменные имиджа Описание переменных имиджа
Иконка имиджа  Network_Client_Object Network_Client_Object sender 1 если имидж посылает свои переменные и 0 если принимает
asynchrone 1 если имидж все время посылает свои переменные и 0 если только при изменении
address интернет адрес сервера
protocol имя протокола
ObjectName имя объекта с переменными
flags получившиеся флаги
id номер порта
_disable флаг работы имиджа - значение 0, (по умолчанию 0)

 


Внимание для выполнения этой работы вам понадобится подключение к сети Internet или Intranet !!!

 

Задание 1.

Собрать проект клиент который передает значения по сети.

  1. Создайте новый проект.
  2. Вставте имджи HSlider и GraphicSpace. Соедените их связью и добавте переменные WindowsName<=>WindowsName, HSpace<=>HSpace. В имидже GraphicSpace введите название создаваемого окна.
  3. Создайте новый имидж с моделью: float buy. Назовите его out. Соедените связью с имиджем HSlider и добавте переменные Value<=>buy.
  4. Вставте Network_Client_Object. Установите значения переменных:
    sender=1
    asynchrone=0
    ObjectName=..\out

У вас должна получиться схема показанная на Рис.

Задание 2.

Собрать проект сервер который принимает значения по сети и строит график.

  1. Создайте новый проект.
  2. Вставте имджи OSCSpace2D.
  3. Создайте новый имидж с моделью:
    x:=~x+1;
    y:=cost;
    Соедените его cвязью с имиджем OSCSpace2D и добавте переменные x<=>x, y<=>y.
  4. Создайте новый имидж выполняющий преобразования с полученными переменными. Пусть его модель будет такой:
    var:=var+k*buy;
    buy:=0;
    Cost:=Base+~var;
    Переменной "к" присвойте значение 0,05.
    Соедените его cвязью с предыдущим имиджем и добавте переменные cost<=>cost.
  5. Создайте новый имидж с моделью: float buy. Назовите его in. Соедените связью с имиджем преобразований и добавте переменные buy<=>buy.
  6. Вставте Network_Client_Object. Установите значения переменных:
    sender=0
    asynchrone=0
    ObjectName=..\in

У вас должна получиться схема показанная на Рис.

Задание 3.

Проверьте работоспособность собранных проектов.

  1. Запустите два Stratum-a на одном или двух компьютерах.
  2. В один Stratum загрузите модель сервера.
  3. В другой модель клиента. В объекте Network_Client_Object в переменной address пропишите IP адрес компьютера на котором будет работать модель сервер.
  4. Запустите модель сервера, а затем модель клиента.
  5. Передвигая бегунок в модели клиента убедитесь в том, что меняется график отображаемый моделью сервером.

Дополнительные задания.

Создайте проект клиент который передает и принимает значения по сети и строит график принимаемых значений (загрузить).

Создайте проект сервер который принимает значения по сети производит с ними некоторое арифметическое действие и передает назад (загрузить).

Проверьте их работоспособность.