diff options
| -rw-r--r-- | python-twisted/examples/echo-client.py | 88 | ||||
| -rw-r--r-- | python-twisted/examples/echo-server.py | 93 |
2 files changed, 181 insertions, 0 deletions
diff --git a/python-twisted/examples/echo-client.py b/python-twisted/examples/echo-client.py new file mode 100644 index 0000000..6f6d1c7 --- /dev/null +++ b/python-twisted/examples/echo-client.py @@ -0,0 +1,88 @@ +## www.pubnub.com - PubNub - Data Stream Network +# coding=utf8 + +## PubNub Real-time Push APIs and Notifications Framework +## Copyright (c) 2010 Stephen Blum +## http://www.pubnub.com/ + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Import Libs +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +from Pubnub import PubnubTwisted as Pubnub + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Configuration +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +publish_key = 'pub-c-f6a20151-db8d-45af-ba42-def0edaa459f' +subscribe_key = 'sub-c-b5ff3208-7f64-11e4-b601-02ee2ddab7fe' +secret_key = 'demo' +server_channel = 'echo-server' +client_channel = 'echo-channel' + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Create PubNub Instance +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +pubnub = Pubnub( + publish_key=publish_key, + subscribe_key=subscribe_key, + secret_key=secret_key, + ssl_on=True +) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Error Log +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def error_log(data): print(data) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Access Log +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def access_log(data): print(data) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Respond +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def request(): + pubnub.publish( + server_channel, + { 'response' : client_channel, 'body' : "Hello" }, + callback=access_log, + error=error_log + ) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Request Received +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onResponse( data, channel ): + print("Channel: %s | Req: %s" % (channel,data)) + request() + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Ready to Receive Requests +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onReady(message): + print("Ready to Receive Requests on '%s'" % server_channel) + request() + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Network Recovered +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onReconnect(message): print("RECONNECTED") + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Network Failed +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onDisconnect(message): print("DISCONNECTED") + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Start Echo Server +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +pubnub.subscribe( + client_channel, + callback=onResponse, + error=error_log, + connect=onReady, + reconnect=onReconnect, + disconnect=onDisconnect +) +pubnub.start() diff --git a/python-twisted/examples/echo-server.py b/python-twisted/examples/echo-server.py new file mode 100644 index 0000000..65f9c57 --- /dev/null +++ b/python-twisted/examples/echo-server.py @@ -0,0 +1,93 @@ +## www.pubnub.com - PubNub - Data Stream Network +# coding=utf8 + +## PubNub Real-time Push APIs and Notifications Framework +## Copyright (c) 2010 Stephen Blum +## http://www.pubnub.com/ + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Import Libs +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +from Pubnub import PubnubTwisted as Pubnub + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Configuration +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +publish_key = 'pub-c-f6a20151-db8d-45af-ba42-def0edaa459f' +subscribe_key = 'sub-c-b5ff3208-7f64-11e4-b601-02ee2ddab7fe' +secret_key = 'demo' +server_channel = 'echo-server' + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Create PubNub Instance +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +pubnub = Pubnub( + publish_key=publish_key, + subscribe_key=subscribe_key, + secret_key=secret_key, + ssl_on=True +) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Error Log +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def error_log(data): print(data) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Access Log +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def access_log(data): print(data) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Respond +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def respond( channel, body ): + pubnub.publish( + channel, + body, + callback=access_log, + error=error_log + ) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Request Received +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onRequest( request, channel ): + response_channel = request['response'] + response_body = request['body'] + + print("Channel: %s | Req: %s" % (channel,request)) + + respond( + channel=response_channel, + body=response_body + ) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Ready to Receive Requests +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onReady(message): + print("Ready to Receive Requests on '%s'" % server_channel) + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Network Recovered +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onReconnect(message): print("RECONNECTED") + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Network Failed +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +def onDisconnect(message): print("DISCONNECTED") + +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +## Start Echo Server +## =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +pubnub.subscribe( + server_channel, + callback=onRequest, + error=error_log, + connect=onReady, + reconnect=onReconnect, + disconnect=onDisconnect +) +pubnub.start() |
