N
Nathaniel Talbott
OK, I've tracked down my problem with DRb and OpenSSL a bit more; perhaps
someone can help me out now, as I'm quickly getting out of my league. Here
are test client and server scripts that will show the failure. To run them,
you'll need the latest DRb from ruby CVS
(http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/lib/drb) installed (and of
course the OpenSSL extension).
s.rb:
require 'drb'
require 'drb/ssl'
class Front
def small
puts "Called #small"
"Hi!"
end
def large
puts "Called #large"
"a" * 1000 * 500
end
end
url = ARGV[0] or raise "You must supply the url"
config = {
:SSLCertName => [ ["C","US"], ["O","someplace"], ["CN", "Temporary"] ],
:verbose => true
}
DRb.start_service(url, Front::new, config)
puts "Listening on #{url}"
DRb.thread.join
c.rb:
require 'drb'
require 'drb/ssl'
url = ARGV[0] or raise "You must supply the url"
DRb.start_service
front = DRbObject::new(nil, url)
puts "Connected to #{url}"
p front.small.size
p front.large.size
s.rb output:
ntalbott@proxytest:~$ ruby -vw s.rb drbssl://localhost:5777
ruby 1.8.0 (2003-08-04) [i386-linux]
.++++++++++++
....................++++++++++++
Listening on drbssl://localhost:5777
Called #small
Called #large
s.rb:23:in `join': Interrupt from s.rb:23
c.rb output:
ntalbott@proxytest:~$ ruby -vw c.rb drbssl://localhost:5777
ruby 1.8.0 (2003-08-04) [i386-linux]
Connected to drbssl://localhost:5777
3
(Hangs until server is interrupted)
500000
If there's any other information I can provide, or anything else I can do to
help debug this, please let me know. Also, if there are other places I
should ask this question, please let me know that, too.
Thanks,
Nathaniel
<
(><
someone can help me out now, as I'm quickly getting out of my league. Here
are test client and server scripts that will show the failure. To run them,
you'll need the latest DRb from ruby CVS
(http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/lib/drb) installed (and of
course the OpenSSL extension).
s.rb:
require 'drb'
require 'drb/ssl'
class Front
def small
puts "Called #small"
"Hi!"
end
def large
puts "Called #large"
"a" * 1000 * 500
end
end
url = ARGV[0] or raise "You must supply the url"
config = {
:SSLCertName => [ ["C","US"], ["O","someplace"], ["CN", "Temporary"] ],
:verbose => true
}
DRb.start_service(url, Front::new, config)
puts "Listening on #{url}"
DRb.thread.join
c.rb:
require 'drb'
require 'drb/ssl'
url = ARGV[0] or raise "You must supply the url"
DRb.start_service
front = DRbObject::new(nil, url)
puts "Connected to #{url}"
p front.small.size
p front.large.size
s.rb output:
ntalbott@proxytest:~$ ruby -vw s.rb drbssl://localhost:5777
ruby 1.8.0 (2003-08-04) [i386-linux]
.++++++++++++
....................++++++++++++
Listening on drbssl://localhost:5777
Called #small
Called #large
s.rb:23:in `join': Interrupt from s.rb:23
c.rb output:
ntalbott@proxytest:~$ ruby -vw c.rb drbssl://localhost:5777
ruby 1.8.0 (2003-08-04) [i386-linux]
Connected to drbssl://localhost:5777
3
(Hangs until server is interrupted)
500000
If there's any other information I can provide, or anything else I can do to
help debug this, please let me know. Also, if there are other places I
should ask this question, please let me know that, too.
Thanks,
Nathaniel
<