RegisterNetObject
Синтаксис
FLOAT RegisterNetObject(STRING Object, STRING protocol, STRING address, FLOAT port, FLOAT flags)
Описание
Функция позволяет соединить переменные одного имиджа на локальной машине c переменными имиджа на удаленной машине.
Параметры
Object Определяет соединяемый имидж.
Protocol Определяет тип сетевого протокола. Возможные значение (“TCP/IP”, “IPX”, “NETBEUI”). Пока поддерживается только “TCP/IP”
address Адрес машины. Если этот имидж выступает в качестве сервера, то необходимо указать адрес локальной машины или пустую строку. Для клиента необходимо указывать точный адрес удаленного сервера. Для IP адресов адрес может быть как буквенным: “stratum.pstu.ac.ru” так и цифровым “193.233.103.25”.
Port для TCP/IP протокола определяет номер IP порта.
Flags Комбинация следующих флагов:
0x01 Имидж является сервером.
0x02 Имидж посылает значения своих переменных другим.
0x04 Имидж асинхронно получает данные по сети.
0x08 Имидж пересылает значения переменных только при их изменении. Иначе данные посылаются на каждом шаге.
0x8000 Повторная регистрация имиджа на передачу данных на другую машину.
Возвращаемое значение
Функция возвращает 1, в случае успеха и 0, в противном случае.
Примечание
• В настоящей версии поддерживается только TCP/IP протокол.
• Перед тем как осуществлять соединение, необходимо запустить имидж сервер и только потом подключаться клиенту.
• Имидж, рассылающий значения своих переменных, может передавать свои переменные сразу многим имиджам. При этом, если имидж является сервером, то это осуществляется автоматически при каждом подключении клиента имиджа на другой машине. Для клиента надо пользоваться повторным вызовом этой функции.
• При установлении связи Stratum проверяет тип связываемых имиджей и при их несовпадении разрывает установленную связь. Под совпадением типов подразумевается одинаковое количество переменных и эквивалентность переменных с одинаковыми порядковыми номерами.
Пример
// Сервер
FLOAT send1,send2,send3,send4,send5
if(not(ret))
ret:=RegisterNetObject("","TCP/IP","193.233.103.23",5000,3)
endif
// Клиент
FLOAT send1,send2,send3,send4,send5
if(not(ret))
ret:=RegisterNetObject("","TCP/IP","193.233.103.23",5000,0)
endif
см. Путь в имени объектаpath
Created with the Personal Edition of HelpNDoc: Free PDF documentation generator