Ejemplo n.º 1
0
 def _startLogOn(self, chatui):
     print('Connecting...', end=' ')
     d = pb.getObjectAt(self.host, self.port)
     d.addCallbacks(self._cbConnected,
                    self._ebConnected,
                    callbackArgs=(chatui, ))
     return d
Ejemplo n.º 2
0
 def render(self, request):
     """Render this request, from my server.
     This will always be asynchronous, and therefore return NOT_DONE_YET.
     It spins off a request to the pb client, and either adds it to the list
     of pending issues or requests it immediately, depending on if the
     client is already connected.
     """
     if not self.publisher:
         self.pending.append(request)
         if not self.waiting:
             self.waiting = 1
             pb.getObjectAt(self.host, self.port, 10).addCallbacks(self.connected, self.notConnected)
     else:
         i = Issue(request)
         self.publisher.callRemote('request', request).addCallbacks(i.finished, i.failed)
     return NOT_DONE_YET
Ejemplo n.º 3
0
def main():
    rootobj_def = pb.getObjectAt("localhost", 8800, 30)
    rootobj_def.addCallbacks(got_rootobj)
    obj2_def = getSomeObjectAt("localhost", 8800, 30, "two")
    obj2_def.addCallbacks(got_obj2)
    obj3_def = getSomeObjectAt("localhost", 8800, 30, "three")
    obj3_def.addCallbacks(got_obj3)
    reactor.run()
Ejemplo n.º 4
0
def main():
    rootobj_def = pb.getObjectAt("localhost", 8800, 30)
    rootobj_def.addCallbacks(got_rootobj)
    obj2_def = getSomeObjectAt("localhost", 8800, 30, "two")
    obj2_def.addCallbacks(got_obj2)
    obj3_def = getSomeObjectAt("localhost", 8800, 30, "three")
    obj3_def.addCallbacks(got_obj3)
    reactor.run()
Ejemplo n.º 5
0
    def render(self, request):
        """Render this request, from my server.

        This will always be asynchronous, and therefore return NOT_DONE_YET.
        It spins off a request to the pb client, and either adds it to the list
        of pending issues or requests it immediately, depending on if the
        client is already connected.
        """
        if not self.publisher:
            self.pending.append(request)
            if not self.waiting:
                self.waiting = 1
                pb.getObjectAt(self.host, self.port, 10).addCallbacks(self.connected, self.notConnected)

        else:
            i = Issue(request)
            self.publisher.callRemote('request', request).addCallbacks(i.finished, i.failed)
        return NOT_DONE_YET
Ejemplo n.º 6
0
 def _start(self):
     print 'Waiting for Server', self.host
     dfr = pb.getObjectAt(self.host, PORT, 30)
     dfr.addCallbacks(self._gotRemote, self._remoteFail)
Ejemplo n.º 7
0
 def testGetObjectAt(self):
     d = pb.getObjectAt("127.0.0.1", self.portno)
     d.addCallback(self.addRef)
     d.addCallback(self._checkRootObject)
     return d
Ejemplo n.º 8
0
 def connect(self):
     deferred = pb.getObjectAt("localhost", 8800, 30)
     deferred.addCallbacks(self.got_obj, self.err_obj)
Ejemplo n.º 9
0
    def ok(self, (int1, int2, shortString, hugeString)):
        print 'data ok'
        print int1, int2, repr(shortString), len(hugeString)

    def nok(self, f):
        print 'data not ok'
        return f

if __name__ == '__main__':
    import sys
    from twisted.internet import reactor
    from twisted.python import log
    log.startLogging(sys.stdout)
    PORTNO = 8123
    if sys.argv[1] == 'server':
        from twisted.spread.flavors import Root
        from twisted.spread.pb import BrokerFactory
        class SimpleRoot(Root):
            def rootObject(self, broker):
                return DatabaseThingy()
        reactor.listenTCP(PORTNO, BrokerFactory(SimpleRoot()))
    elif sys.argv[1] == 'client':
        from twisted.spread.pb import getObjectAt
        def getIt(x):
            r = ResultGetter(x)
            return r.getRemoteResult()
        getObjectAt("localhost", PORTNO).addCallback(getIt)
    else:
        raise sys.exit("usage: %s (server|client)" % sys.argv[0])
    reactor.run()
Ejemplo n.º 10
0
 def testGetObjectAt(self):
     root = dR(pb.getObjectAt("127.0.0.1", self.portno))
     self._checkRootObject(root)
     root.broker.transport.loseConnection()
Ejemplo n.º 11
0
# Twisted, the Framework of Your Internet
# Copyright (C) 2001 Matthew W. Lefkowitz
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of version 2.1 of the GNU Lesser General Public
# License as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

from twisted.spread import pb
from twisted.internet import main
def gotObject(object):
    print "got object:",object
    object.echo("hello network", pbcallback=gotEcho)
def gotEcho(echo):
    print 'server echoed:',echo
    main.shutDown()
def gotNoObject(reason):
    print "no object:",reason
    main.shutDown()
pb.getObjectAt("localhost", 8789, gotObject, gotNoObject, 30)
main.run()
Ejemplo n.º 12
0
 def connect(self):
     deferred = pb.getObjectAt("localhost", 8800, 30)
     deferred.addCallbacks(self.got_obj, self.err_obj)
Ejemplo n.º 13
0
    def remote_ring(self, callerID):
        print "Your phone is ringing.  It's a call from", callerID


bugClient = BugClient()
phoneClient = CellClient()

# Log-In Information
username = "******"
password = "******"
bugName = "franz"
phoneNumber = "222-303-8485"

# A little magic to get us connected...
getObjectAt("localhost", portno).addCallback(
    # challenge-response authentication
    lambda r: authIdentity(r, username, password)
).addCallback(
    # connecting to each perspective with 'attach' method of remote identity
    lambda i: DeferredList([
        i.callRemote("attach", "metamorph", bugName, bugClient),
        i.callRemote("attach", "cellphone", phoneNumber, phoneClient)
    ])
    # connecting perspectives to client-side objects
).addCallback(lambda l: (bugClient.gotPerspective(l[0][1]),
                         phoneClient.gotPerspective(l[1][1])))

reactor.callLater(5, reactor.stop)  # In five seconds, log out.
reactor.run()  # Start the main loop.
Ejemplo n.º 14
0
 def testGetObjectAt(self):
     d = pb.getObjectAt("127.0.0.1", self.portno)
     d.addCallback(self.addRef)
     d.addCallback(self._checkRootObject)
     return d
Ejemplo n.º 15
0
 def _startLogOn(self, chatui):
     print('Connecting...', end=' ')
     d = pb.getObjectAt(self.host, self.port)
     d.addCallbacks(self._cbConnected, self._ebConnected,
                    callbackArgs=(chatui,))
     return d
Ejemplo n.º 16
0
    def makeConnection(self):
        """Try to connect to an existing server."""

        print 'Client: connecting'
        pb.getObjectAt(self.game.host, self.game.port,
                       10).addCallbacks(self.gotObject, self.gotNoObject)
Ejemplo n.º 17
0
 def _start(self):
     print('Waiting for Server...')
     dfr = pb.getObjectAt(self.host, PORT, 30)
     dfr.addCallbacks(self._gotRemote, self._remoteFail)
Ejemplo n.º 18
0
        (int1, int2, shortString, hugeString) = xxx_todo_changeme
        print('data ok')
        print(int1, int2, repr(shortString), len(hugeString))

    def nok(self, f):
        print('data not ok')
        return f

if __name__ == '__main__':
    import sys
    from twisted.internet import reactor
    from twisted.python import log
    log.startLogging(sys.stdout)
    PORTNO = 8123
    if sys.argv[1] == 'server':
        from twisted.spread.flavors import Root
        from twisted.spread.pb import BrokerFactory
        class SimpleRoot(Root):
            def rootObject(self, broker):
                return DatabaseThingy()
        reactor.listenTCP(PORTNO, BrokerFactory(SimpleRoot()))
    elif sys.argv[1] == 'client':
        from twisted.spread.pb import getObjectAt
        def getIt(x):
            r = ResultGetter(x)
            return r.getRemoteResult()
        getObjectAt("localhost", PORTNO).addCallback(getIt)
    else:
        raise sys.exit("usage: %s (server|client)" % sys.argv[0])
    reactor.run()