Hilfe: DRb/TupleSpace - Problem
Patrick Stiegeler <[email protected]> Mon, 9 Dec 2002 07:14:05 +0100 (MET)
| Newsgroups | gmane.comp.lang.ruby.german |
|---|---|
| Message-ID | <Pine.GSO.4.44.0212090659520.1456-100000@elara.informatik.uni-freiburg.de> |
Hallo,
Ich habe begonnen, mich mit Rubys TupleSpace zu beschaeftigen und bin auch
gleich auf ein Problem gestossen, das ich mir nicht erklaeren kann. Auch
im Netz habe ich dazu nichts gefunden. Vielleicht kann mir jemand von euch
dabei helfen?
Es geht um folgenden TupleSpace client:
require 'drb'
require 'tuplespace'
DRb.start_service
tuple_space = DRbObject.new(nil, "druby://localhost:8888")
class Dummy
def initialize
end
end
s = Dummy.new
# s = 7
tuple_space.out [s]
Die letzte Zeile liefert die Fehlermeldung:
(druby://localhost:8888)
/usr/local/lib/ruby/site_ruby/1.6/tuplespace.rb:93:in `put_que': undefined
method `length' for #<DRb::DRbUnknown:0x40234198> (NameError)
from (druby://localhost:8888)
/usr/local/lib/ruby/site_ruby/1.6/tuplespace.rb:103:in `out'
from (druby://localhost:8888)
/usr/local/lib/ruby/site_ruby/1.6/tuplespace.rb:101:in `each'
from (druby://localhost:8888)
/usr/local/lib/ruby/site_ruby/1.6/tuplespace.rb:101:in `out'
from dummy.rb:16
Das Seltsame ist, dass keine Fehlermeldung kommt, wenn ich statt dem
Dummy-Objekt die 7 uebergebe (auskommentierte Zeile oben).
Der Vollstaendigkeit halber sei noch folgendes erwaehnt:
- DRb-Version: 1.3.8
- TupleSpace-Version: 1.6
- Der TupleSpace Server:
require 'drb'
require 'tuplespace'
require 'thread'
port = if ARGV[0] then ARGV[0] else 8888 end
DRb.start_service("druby://localhost:#{port}", TupleSpace.new)
puts "Tuple space server runs at #{DRb.uri}\n"
DRb.thread.join
Vielen Dank,
Patrick