ПриложениеКлиент.ВыполнитьНаКлиенте (ServiceClient.DoAtClient) Метод

Синтаксис

ВыполнитьНаКлиенте(<ГуидКлиента>, <ИмяМетода>, <МассивПараметров>)

Параметры

ГуидКлиента (обязательный)
Тип: Строка.
Уникальный идентификатор переданный серверу приложений со стороны клиента.
ИмяМетода (обязательный)
Тип: Строка.
МассивПараметров (необязательный)
Тип: Массив.
Массив передаваемых в метод параметров.

Возвращаемое значение

Тип: Произвольный.

Значение результата выполнения функции на клиенте.

Описание

Выполняет на клиенте процедуру или функцию с именем, переданном в параметре ИмяМетода.

Примечание

Важно: В системе отличной от семейства Windows данный метод неприменим.

Пример

Сообщить("Результат = " + ПриложениеКлиент1.ВыполнитьНаКлиенте(Массив.Получить(0).ГуидКлиента, "ПроцедураНаКлиенте", МассивПараметров));
Полный пример кода

Копировать     Выделить всё

//== Файл Сервер.os == начало ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptClientServer\OneScriptClientServer\bin\Debug\OneScriptClientServer.dll"); КС = Новый КлиентСерверДляОдноСкрипта(); ПриложениеСервис1 = КС.ПриложениеСервис(10085, ЭтотОбъект); ПриложениеСервис1.Начать(); Сообщить("ПриложениеСервис запущен"); Пока КС.Продолжать Цикл КС.ПолучитьСобытие().Выполнить(); КонецЦикла; //== Файл Сервер.os == конец //== Файл Клиент.os == начало Перем КС, ПриложениеКлиент1; Процедура ПроцедураНаКлиенте() Экспорт ВыполнитьНаКлиентеАрг = КС.ВыполнитьНаКлиентеАрг(); МассивПараметров = ВыполнитьНаКлиентеАрг.МассивПараметров; Сумма = 0; Для А = 0 По МассивПараметров.ВГраница() Цикл Параметр = МассивПараметров.Получить(А); Сообщить("Параметр " + А + " = " + МассивПараметров.Получить(А)); // Мы знаем, что в данном случае тип значения параметра - Число. Сумма = Сумма + Параметр; КонецЦикла; ПриложениеКлиент1.Результат = "ПроцедураНаКлиенте. Сумма параметров = " + Сумма + " (время " + ТекущаяУниверсальнаяДатаВМиллисекундах() + ")"; Сообщить("Результат = " + ПриложениеКлиент1.Результат); Сообщить("================================"); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptClientServer\OneScriptClientServer\bin\Debug\OneScriptClientServer.dll"); КС = Новый КлиентСерверДляОдноСкрипта(); ПриложениеКлиент1 = КС.ПриложениеКлиент(КС.TCPКонечнаяТочка("127.0.0.1", 10085), ЭтотОбъект); ПриложениеКлиент1.ИмяКлиента = "" + ТекущаяУниверсальнаяДатаВМиллисекундах(); ПриложениеКлиент1.Подключить(); Приостановить(1000); МассивПараметров = Новый Массив(); МассивПараметров.Добавить(125.35); МассивПараметров.Добавить(25); МассивПараметров.Добавить(75); //// И другие типы значений. // МассивПараметров.Добавить("строка25"); // МассивПараметров.Добавить(Ложь); // МассивПараметров.Добавить(Дата(1984,03,26,06,24,21)); // ДД = Новый ДвоичныеДанные("C:\444\Pic\Games4.JPG"); // МассивПараметров.Добавить(ДД); Массив = ПриложениеКлиент1.ПолучитьИнформациюКлиентов(); Сообщить("Количество подключенных на сервере клиентов = " + Массив.Количество()); Для А = 0 По Массив.ВГраница() Цикл Сообщить("ГуидКлиента = " + Массив.Получить(А).ГуидКлиента); Сообщить("ИмяКлиента = " + Массив.Получить(А).ИмяКлиента); Сообщить("====================="); КонецЦикла; Если ПриложениеКлиент1.СостояниеСоединения = КС.СостояниеСоединения.Подключен Тогда Попытка Сообщить("Результат = " + ПриложениеКлиент1.ВыполнитьНаКлиенте(Массив.Получить(0).ГуидКлиента, "ПроцедураНаКлиенте", МассивПараметров)); // Сообщить("Результат = " + ПриложениеКлиент1.ВыполнитьНаКлиенте(Массив.Получить(0).ГуидКлиента, "ПроцедураНаКлиенте")); Исключение Сообщить("Вызывается метод этого клиента. Можно вызывать методы только других клиентов. Запустите ещё один клиент."); Сообщить("================================"); КонецПопытки; КонецЕсли; Пока КС.Продолжать Цикл КС.ПолучитьСобытие().Выполнить(); КонецЦикла; //== Файл Клиент.os == конец

Смотрите также

ПриложениеКлиент (ServiceClient) Класс | Библиотека OneScriptClientServer