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