Страница 1 из 1

ООП и обращение к объекту по сети

СообщениеДобавлено: Ср июн 24, 2015 4:00 pm
drzet
Всем привет!
Пытаюсь реализовать следующую задачу: различные объекты (экземпляры class) находятся на одной машине в сети Ethernet, назовем ее "контроллер", а с "хоста" (другая машина в сети) требуется управлять данными объектами, т.е. обращаться к ним также через их методы. На самом "контроллере" проблем нет, а вот как сделать обмен методов по сети? Думал, через shared variables. Но тогда получится нарушение инкапсуляции...

Re: ООП и обращение к объекту по сети

СообщениеДобавлено: Ср июн 24, 2015 4:42 pm
Техподдержка NI
Здравствуйте. Не могли бы вы пояснить, что значит «обмен методами по сети»? Возможно, вам следует обращаться к объектам через свойства, тогда нарушения инкапсуляции не будет.
Возможно, вам подойдет Actor Framework (https://decibel.ni.com/content/docs/DOC-17193, https://decibel.ni.com/content/docs/DOC-32600)

Re: ООП и обращение к объекту по сети

СообщениеДобавлено: Чт июн 25, 2015 9:16 am
drzet
Я имел ввиду вызов метода объекта с одной машины в сети при созданном самом объекте на другой. Ну т.е. например, есть "локальный" метод "Read Value" читающий некое свойство объекта, а еще нужен метод "Read Value remote", который бы читал то же самое значение того же объекта, но уже по сети. Насчет Actor Framework не слышал, надо почитать.

Re: ООП и обращение к объекту по сети

СообщениеДобавлено: Пн июн 29, 2015 2:15 pm
Техподдержка NI
Использование shared variables допустимо. Я себе представляю такую реализацию следующим образом.
Создаем необходимые классы и методы на контроллере.
На контроллере создаем еще один класс (пусть Network Class) в котором описаны методы предоставляющие доступ к данным через shared variables (Пусть это будут методы set и get).
Все остальные классы являются наследниками Network Class и реализуют методы set и get.
На хосте проделываем аналогичные действия.
В результате мы не получим нарушения инкапсуляции.