DRb метод доступа - PullRequest
       41

DRb метод доступа

1 голос
/ 19 июня 2011

Я пишу простую распределенную систему в DRb.

У меня есть все одноранговые узлы и один сервер для начальной загрузки. На этом сервере у меня есть несколько методов, таких как «offer_peer», «start_service» и «stop_service».

Когда узел подключается к серверу, он может вызвать все три метода. Я хочу, чтобы он мог звонить только первому.

Кроме того, у меня есть файл, который инициализирует сервер, и имеет небольшую строку cmd, чтобы я мог запустить службу, отладку, журнал и все такое. Я хочу, чтобы эта строка cmd могла вызывать второй и третий методы, а также первый.

Как я могу это сделать? Как я могу помешать сверстникам остановить сервис?
Если я поставлю сервисные методы как приватные, я не смогу вызвать их из строки cmd.

1 Ответ

0 голосов
/ 23 июня 2011

Это то, что я получил.

Thread.current['DRb']['client'].peeraddr

Возвращает небольшой массив из 4 элементов.первый - это протокол, второй - порт, третий - хост (имя), а четвертый - адрес (такой же, как хост, если нет имени).

Спасибо Брайану Кэндлеру из http://www.ruby -forum.com / topic / 1962357

...