예제 #1
0
def test_server(wsuri, wsuri2 = None):

   dealer = Dealer()

   if wsuri2 is None:
      calculator = Calculator()
      dealer.register("http://myapp.com/", calculator)


   broker = Broker()

   class MyPubSubServerProtocol(WampServerProtocol):

      def onSessionOpen(self):
         self.setBroker(broker)
         self.setDealer(dealer)

   wampFactory = WampServerFactory(wsuri)
   wampFactory.protocol = MyPubSubServerProtocol
   listenWS(wampFactory)

   if wsuri2:
      class MyPubSubClientProtocol(WampClientProtocol):

         def onSessionOpen(self):
            self.setBroker(broker)
            self.setDealer(dealer)

      factory = WampClientFactory(wsuri2)
      factory.protocol = MyPubSubClientProtocol
      connectWS(factory)
예제 #2
0
def test_server(wsuri, wsuri2=None):

    dealer = Dealer()

    if wsuri2 is None:
        calculator = Calculator()
        dealer.register("http://myapp.com/", calculator)

    broker = Broker()

    class MyPubSubServerProtocol(WampServerProtocol):
        def onSessionOpen(self):
            self.setBroker(broker)
            self.setDealer(dealer)

    wampFactory = WampServerFactory(wsuri)
    wampFactory.protocol = MyPubSubServerProtocol
    listenWS(wampFactory)

    if wsuri2:

        class MyPubSubClientProtocol(WampClientProtocol):
            def onSessionOpen(self):
                self.setBroker(broker)
                self.setDealer(dealer)

        factory = WampClientFactory(wsuri2)
        factory.protocol = MyPubSubClientProtocol
        connectWS(factory)
예제 #3
0
def test_client(wsuri, dopub):

   dorpc = False

   class MyPubSubClientProtocol(WampClientProtocol):

      def onSessionOpen(self):

         print "Connected!"

         def onMyEvent1(topic, event):
            print "Received event", topic, event

         d = self.subscribe("http://example.com/myEvent1", onMyEvent1)

         def subscribeSuccess(subscriptionid):
            print "Subscribe Success", subscriptionid

         def subscribeError(error):
            print "Subscribe Error", error

         d.addCallbacks(subscribeSuccess, subscribeError)

         self.counter = 0

         def sendMyEvent1():
            self.counter += 1
            self.publish("http://example.com/myEvent1",
               {
                  "msg": "Hello from Python!",
                  "counter": self.counter
               }
            )
            reactor.callLater(2, sendMyEvent1)

         if dopub:
            sendMyEvent1()

         if dorpc:
            def writeln(res):
               print res

            d = self.call("http://myapp.com/add", 23, 7)
            d.addBoth(writeln)

            d = self.call("http://myapp2.com/add", 40, 2)
            d.addBoth(writeln)


      def onClose(self, wasClean, code, reason):
         print "Connection closed", reason
         reactor.stop()

   factory = WampClientFactory(wsuri)
   factory.protocol = MyPubSubClientProtocol
   connectWS(factory)
예제 #4
0
def test_client(wsuri, dopub):

    dorpc = False

    class MyPubSubClientProtocol(WampClientProtocol):
        def onSessionOpen(self):

            print "Connected!"

            def onMyEvent1(topic, event):
                print "Received event", topic, event

            d = self.subscribe("http://example.com/myEvent1", onMyEvent1)

            def subscribeSuccess(subscriptionid):
                print "Subscribe Success", subscriptionid

            def subscribeError(error):
                print "Subscribe Error", error

            d.addCallbacks(subscribeSuccess, subscribeError)

            self.counter = 0

            def sendMyEvent1():
                self.counter += 1
                self.publish("http://example.com/myEvent1", {
                    "msg": "Hello from Python!",
                    "counter": self.counter
                })
                reactor.callLater(2, sendMyEvent1)

            if dopub:
                sendMyEvent1()

            if dorpc:

                def writeln(res):
                    print res

                d = self.call("http://myapp.com/add", 23, 7)
                d.addBoth(writeln)

                d = self.call("http://myapp2.com/add", 40, 2)
                d.addBoth(writeln)

        def onClose(self, wasClean, code, reason):
            print "Connection closed", reason
            reactor.stop()

    factory = WampClientFactory(wsuri)
    factory.protocol = MyPubSubClientProtocol
    connectWS(factory)
예제 #5
0
def test_client2(wsuri):
    class MyPubSubClientProtocol(WampClientProtocol):
        def onSessionOpen(self):

            print "Connected!"
            calculator = Calculator()

            dealer = Dealer()
            dealer.register("http://myapp2.com/", calculator)

            self.setDealer(dealer)

        def onClose(self, wasClean, code, reason):
            print "Connection closed", reason
            reactor.stop()

    factory = WampClientFactory(wsuri)
    factory.protocol = MyPubSubClientProtocol
    connectWS(factory)
예제 #6
0
def test_client2(wsuri):

   class MyPubSubClientProtocol(WampClientProtocol):

      def onSessionOpen(self):

         print "Connected!"
         calculator = Calculator()

         dealer = Dealer()
         dealer.register("http://myapp2.com/", calculator)

         self.setDealer(dealer)

      def onClose(self, wasClean, code, reason):
         print "Connection closed", reason
         reactor.stop()

   factory = WampClientFactory(wsuri)
   factory.protocol = MyPubSubClientProtocol
   connectWS(factory)