2004-02-14 05:28:02 +03:00
|
|
|
#!/usr/bin/env ruby
|
|
|
|
|
|
|
|
require 'drb'
|
|
|
|
require 'drb/ssl'
|
|
|
|
|
|
|
|
here = ARGV.shift || "drbssl://localhost:3456"
|
|
|
|
|
|
|
|
class HelloWorld
|
|
|
|
include DRbUndumped
|
|
|
|
|
|
|
|
def hello(name)
|
|
|
|
"Hello, #{name}."
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
config = Hash.new
|
|
|
|
config[:verbose] = true
|
|
|
|
begin
|
|
|
|
data = open("sample.key"){|io| io.read }
|
|
|
|
config[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(data)
|
|
|
|
data = open("sample.crt"){|io| io.read }
|
|
|
|
config[:SSLCertificate] = OpenSSL::X509::Certificate.new(data)
|
|
|
|
rescue
|
|
|
|
$stderr.puts "Switching to use self-signed certificate"
|
|
|
|
config[:SSLCertName] =
|
|
|
|
[ ["C","JP"], ["O","Foo.DRuby.Org"], ["CN", "Sample"] ]
|
|
|
|
end
|
|
|
|
|
|
|
|
DRb.start_service(here, HelloWorld.new, config)
|
|
|
|
puts DRb.uri
|
2004-06-27 19:36:32 +04:00
|
|
|
DRb.thread.join
|