From: Raj Sahae Date: 2007-03-01T16:42:46+09:00 Subject: problem with DRb I'm going to try to explain this problem without posting huge amounts of code, so please stick with me. Imagine you have an object, GameServer, that contains an instance of some object, Game. Game has many objects it owns too, Player's, Deck's, Card's, and all these objects have methods. Then, I start a DRb service, passing in GameServer.game. This isn't what the code actually is, but a basic skeleton would be something like: Class GameServer def initialize @game = Game.new end end Class Game def initialize @players = Array.new #holds Player.new instances end end Class Player def initialize @name @hand = Array.new # holds Cards @deck = Array.new # holds Cards end def draw @hand << @deck.shift end end DRb.start service etc etc I have a client that starts a DRb service, creating a DRbObject game. I wasn't successfull in using DRbUndumped, so I have all the classes defined on both the server and the client(probably related to the problem but I can't get DRbUndumped to work). I know the connection works because I have accessed data through the connection, but at some point, the client calls a method on the DRbObject, and nothing happens. It's a Player.draw method, that takes a Card from Deck, and puts it in Player.hand. I threw some prints in there, so I know the method is being called, but it's not having the desired effect. I want the object on the server to change, but apparently the intuitive way to go about that isn't the correct way. When I call the method, the prints show up in the clients prompt. How do I activate the method on the server, from the client, thereby manipulating the object on the server? I know that paragraph can be quite confusing. Please ask for clarification where needed. Raj Sahae