44件ヒット
[1-44件を表示]
(0.019秒)
別のキーワード
キーワード
-
drb
/ extservm (11) -
drb
/ gw (11) -
rinda
/ rinda (11)
検索結果
先頭4件
-
drb (38133.0)
-
分散オブジェクトプログラミングのためのライブラリです。
...ができます。これらはすべて透過的に行われます。
リモートプロセスにあるオブジェクトはローカルには DRb::DRbObject の
インスタンスとして表現されます。このオブジェクトはリモートオブジェクトの
proxy のように振舞......、すべては実行時に解決されます。
リモートプロセスからのメソッド呼出しはそれを受け取ったプロセスの
DRb::DRbServer オブジェクトが処理します。
受け取ったメッセージからメソッド呼出し情報を取り出し、ローカルに......mixin を必要としたりは
しません。
オブジェクトの特定は DRb::DRbServer が自動でします。そのため
オブジェクトの登録のようなことは通常必要ありません。
DRb::DRbServer に URI(例: druby://example.com:8787)を関連付けること
で、他... -
drb
/ extservm (6215.0) -
DRb::ExtServManager を定義しているライブラリ。
...DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager は drb で実現されたサービスブローカーです。
個々のサービスは drb/extserv で定義されている
DRb::ExtServ を用いて実装します。
DRb::ExtServManager
はクライアントの要求......に応じて個々のサービスを
サブプロセスとして起動し、各サービスを表す DRb::ExtServ オブジェクト
をリモートオブジェクトとしてクライアントに渡します。
このライブラリは簡易的なもので、あまりメンテナンスもされて......r.rb が client.rb からサービスを要求された
時に起動されます。また、stop.rbを用いて
server.rb:
require 'drb/drb'
require 'drb/extservm'
Dir.chdir(File.dirname(__FILE__))
# サービスを起動するコマンドを指定する
# コマンドは文字列... -
drb
/ gw (6215.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
...drb 通信を中継するゲートウェイ(DRb::GW)と、
中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、
および DRb::DRbObject への拡張が含まれています。
このライブラリを利用することで直接通信することが不可能であるよう......プロセスを経て drb によりやりとりできるようになります。
drb による通信とは、オブジェクトをプロセス間でやりとりすること、
およびそのメソッドを呼び出すことです。
中継プロセスが保持している DRb::GW オブジェク......URL も参照してください。
* http://www2a.biglobe.ne.jp/~seki/ruby/drbssh.html
=== Example
この例は drb/gw.rb に含まれているものです。
foo.rb
require 'drb/drb'
class Foo
include DRbUndumped
def initialize(name, peer=nil)
@name = name
@peer = pee... -
rinda
/ rinda (97.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
... DRb.uri を使うことで rindac.rb のプロセスを
一意に同定しているからです。
# rinda_ts.rb
require 'drb/drb'
require 'rinda/tuplespace'
uri = ARGV.shift
DRb.start_service(uri, Rinda::TupleSpace.new)
puts DRb.uri
DRb.thread.join
# rindas.rb
require 'drb/......drb'
require 'rinda/rinda'
def do_it(v)
puts "do_it(#{v})"
v + v
end
uri = ARGV.shift || raise("usage: #{$0} <server_uri>")
DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))
while true
r = ts.take(['sum', nil, nil])
v = do_it(r[2])......e 'drb/drb'
require 'rinda/rinda'
uri = ARGV.shift || raise("usage: #{$0} <server_uri>")
DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))
(1..10).each do |n|
ts.write(['sum', DRb.uri, n])
end
(1..10).each do |n|
ans = ts.take(['ans', DRb.ur...