nvm.. I found the answer from archive... I need to used DRb::UnDumped.. !! Mohammad On 3/27/06, Mohammad Khan <beeplove / gmail.com> wrote: > Here is server code: > > #!/usr/bin/env ruby > > require 'drb' > > location = "druby://localhost:9000" > > class Echo > def initialize(msg=nil) > @msg = msg.nil? ? "No message!" : msg > end > > def message > return @msg > end > end > > class EchoServer > def initialize > $stdout.puts "EchoServer Started" > end > > def echo(msg=nil) > echo = Echo.new(msg) > $stdout.puts "Returning echo and its a class of '#{echo.class}'" > return echo > end > end > > > begin > server = EchoServer.new > DRb.start_service(location, server) > DRb.thread.join > > rescue Interrupt > $stdout.puts "Thank you for using EchoServer" > > rescue > raise > end > > > And Here is my client code: > > #!/usr/bin/env ruby > > require 'drb' > > location = "druby://localhost:9000" > > DRb.start_service(nil, nil) > server = DRbObject.new(nil, location) > > begin > echo = server.echo("Hello dRuby") > puts echo.class > > rescue SystemCallError > $stdout.puts "EchoServer returned SystemCallError" > > rescue DRb::DRbConnError > $stdout.puts "EchoServer down ... (DRb::DRbConnError)" > > rescue Errno::ECONNREFUSED > $stdout.puts "EchoServer down ... (Errno::ECONNREFUSED)" > > rescue > raise > end > > > After execute client script, here is my output at server end: > > mkhan@mkhan:~$ ruby echoserver.rb > EchoServer Started > Returning echo and its a class of 'Echo' > > and here is the output at client end: > mkhan@mkhan:~/project/CPCServer$ ruby echoclient.rb > DRb::DRbUnknown > > > I was expecting at client end to see 'Echo' > What I am doing wrong? > Any help would be greatly appreciated. > > Thanks, > Mohammad > >