$ python Python 2.5.2 (r252:60911, Apr 21 2008, 11:17:30) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from twisted.spread import pb >>> from twisted.internet import reactor >>> factory = pb.PBClientFactory() >>> server = None >>> def gotServer(serv): ...     global server ...     server = serv ... >>> connection = reactor.connectTCP('localhost', 8000, factory) >>> reactor.callLater( 4, reactor.crash ) <twisted.internet.base.DelayedCall instance at 0xac5638> >>> reactor.run() >>> d = factory.getRootObject() >>> d.addCallback(gotServer) <Deferred at 0xb1f440  current result: None> >>> reactor.iterate() >>> server.callRemote('GameStartRequest') <Deferred at 0xac5638> >>> reactor.iterate() >>> up, right, down, left = 0,1,2,3 >>> server.callRemote('CharactorMoveRequest', up) <Deferred at 0xb1f4d0> >>> reactor.iterate() >>> server.callRemote('CharactorMoveRequest', right) <Deferred at 0xac5638> >>> reactor.iterate() >>> server.callRemote('CharactorMoveRequest', down) <Deferred at 0xb1f4d0> >>> reactor.iterate() >>> server.callRemote('CharactorMoveRequest', left) <Deferred at 0xac5638> >>> reactor.iterate()