13 - automatically discovering drb servers and clients.rb

来自「O Reilly Ruby Cookbook source code」· RB 代码 · 共 47 行

RB
47
字号
#!/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 + =
减小字号Ctrl + -
显示快捷键?