分散オブジェクトシステムdrbを利用する
分散オブジェクトシステムdrbを利用すれば、別プロセスのRubyのオブジェクトを、あたかも同じプロセスにあるかのように扱うことができる。
以下は自身のSTDOUTを公開するサーバと、サーバのSTDOUTを取得して、サーバにメッセージを出力させるクライアントの例である。
まずサーバを実行し、続いてクライアントを実行すると、サーバ側にメッセージが表示される。
サーバ側
require 'drb' DRb.start_service("druby://localhost:8787", STDOUT) DRb.thread.join
クライアント側
require 'drb' DRb.start_service remote_stdout = DRbObject.new_with_uri("druby://localhost:8787") remote_stdout.puts "Hello, DRb!"