Ruby 常用库功能解析
1. dRuby 库
1.1 功能概述
dRuby(Distributed Ruby Objects)允许 Ruby 对象通过网络连接进行分布式处理。虽然以客户端 - 服务器模式表述,但初始连接建立后,协议是对称的,双方都能调用对方对象的方法。通常,远程调用传递和返回的对象按值传递,若对象包含 DRbUndumped 模块,则按引用传递,这在实现回调时很有用。
1.2 代码示例
服务器端代码
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.n
超级会员免费看
订阅专栏 解锁全文
928

被折叠的 条评论
为什么被折叠?



