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)
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)
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)
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)
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)