class Foo attr_reader :i def initialize @i = 0 end def foo(i) @i = i i + i end end # server = ROMP::Server.new('tcpromp://localhost:4242', nil, true) uri = ARGV.shift || raise("usage: #{$0} URI") foo = Foo.new case uri when /^tcpromp:/, /^unixromp:/ require 'romp' server = ROMP::Server.new(uri, nil, true) server.bind(foo, "foo") when /^druby:/ require 'drb/drb' DRb.start_service(uri, Foo.new) end DRb.thread.join