📄 13 - automatically discovering drb servers and clients.rb
字号:
#!/usr/bin/ruby# rinda_server.rbrequire 'rinda/ring' # for RingServerrequire 'rinda/tuplespace' # for TupleSpaceDRb.start_service# Create a TupleSpace to hold named services, and start running.Rinda::RingServer.new(Rinda::TupleSpace.new)DRb.thread.join#---#!/usr/bin/ruby# share_a_tuplespace.rbrequire 'rinda/ring' # for RingFinger and SimpleRenewerrequire 'rinda/tuplespace' # for TupleSpaceDRb.start_servicering_server = Rinda::RingFinger.primary# Register our TupleSpace service with the RingServerring_server.write( [:name, :TupleSpace, Rinda::TupleSpace.new, 'Tuple Space'], Rinda::SimpleRenewer.new )DRb.thread.join#---#!/usr/bin/ruby# use_a_tuplespace.rbrequire 'rinda/ring' # for RingFingerrequire 'rinda/tuplespace' # for TupleSpaceProxyDRb.start_servicering_server = Rinda::RingFinger.primary# Ask the RingServer for the advertised TupleSpace.ts_service = ring_server.read([:name, :TupleSpace, nil, nil])[2]tuplespace = Rinda::TupleSpaceProxy.new(ts_service)# Now we can use the object normally:tuplespace.write([:data, rand(100)])puts "Data is #{tuplespace.read([:data, nil]).last}."# Data is 91.#---
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -