druby标准库的使用案例
druby可以让ruby对象跨越网络连接成为分布式对象。虽然还使用客户端与服务器这些术语,但是一旦建立起最初的链接,协议实际上是对称的:每一端都可以idiaoyong另外一端对象中的方法。
服务器端程序
require "drb"
require "drb/observer"
class Counter
include DRb::DRbObservable
def run
5.times do |count|
changed
notify_observers(count)
end
end
end
counter=Counter.new
DRb.start_service("druby://localhost:9001",counter)
DRb.thread.join
客户端程序
require "drb"
class Listener
include DRbUndumped
def update(value)
puts value
end
end
DRb.start_service
counter=DRbObject.new(nil,"druby://localhost:9001")
listener=Listener.new
counter.add_observer(listener)
counter.run
输出结果:
0
1
2
3
4
身未动,心已远;有多远,走多远


浙公网安备 33010602011771号