3 from twisted.spread import pb
4 from twisted.internet import reactor
8 deferred = pb.getObjectAt("localhost", 8800, 30)
9 deferred.addCallbacks(self.got_obj, self.err_obj)
10 # when the Deferred fires (i.e. when the connection is established and
11 # we receive a reference to the remote object), the 'got_obj' callback
14 def got_obj(self, obj):
15 print "got object:", obj
17 print "asking it to add"
18 def2 = self.server.callRemote("add", 1, 2)
19 def2.addCallbacks(self.add_done, self.err)
20 # this Deferred fires when the method call is complete
22 def err_obj(self, reason):
23 print "error getting object", reason
26 def add_done(self, result):
27 print "addition complete, result is", result
28 print "now trying subtract"
29 d = self.server.callRemote("subtract", 5, 12)
30 d.addCallbacks(self.sub_done, self.err)
32 def err(self, reason):
33 print "Error running remote method", reason
36 def sub_done(self, result):
37 print "subtraction result is", result