SSH (master *)$ cat -n helloworldserver.rb 1 require 'drb' 2 3 class HelloWorldServer 4 def say_hello 5 'Hello world!' 6 end 7 end 8 9 File.open('DRbhw.proc', 'w') do |f| 10 f.puts $$ 11 end 12 13 address = "druby://localhost:61676" 14 DRb.start_service(address, obj=HelloWorldServer.new) 15 puts "Process #{$$}: Server running at #{address} serving #{obj}" 16 DRb.thread.join
SSH (master *)$ cat -n helloworldclient.rb 1 require 'drb' 2 3 DRb.start_service 4 5 address = "druby://localhost:61675" 6 server = DRbObject.new_with_uri(address) 7 8 puts server.inspect 9 puts server.say_hello
En el portátil conectamos al servidor:
ACL (master *)$ uname -a Darwin MacBookdeCasiano.local 11.2.0 ... ACL (master *)$ ssh -L61675:localhost:61676 -N pp2
En el servidor ejecutamos el servicio:
pp2@nereida:~/src/projects-ull-casiano/ruby/DRb/SSH$ uname -a Linux nereida.deioc.ull.es ... pp2@nereida:~/src/projects-ull-casiano/ruby/DRb/SSH$ ruby helloworldserver.rb Process 32086: Server running at druby://localhost:61676 serving #<HelloWorldServer:0x00000001ce04b8>
En el portatil ejecutamos el cliente:
SSH (master *)$ ruby helloworldclient.rb #<HelloWorldServer:0x00000001ce04b8> Hello world!
Casiano Rodríguez León