Here are the examples of the python api autobahn.twisted.websocket taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
2 Examples
0
View Complete Implementation : dev.py
Copyright MIT License
Author : codelv
Copyright MIT License
Author : codelv
def start(self, session):
from twisted.internet import reactor
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.websocket import (
WebSocketClientProtocol, WebSocketClientFactory
)
client = self
#: Create local references
mode = session.mode
app = session.app
process_events = session.app.process_events
clast DevClient(WebSocketClientProtocol):
def onConnect(self, response=None):
print("Dev client connected!")
session.connected = True
client.connection = self
#: Start remote debugger
if mode == 'remote':
app.load_view(app)
def onOpen(self):
past
def onMessage(self, payload, isBinary):
if mode == 'remote':
process_events(payload)
else:
r = session.handle_message(payload)
self.sendMessage(json.dumps(r))
def onClose(self, wasClean, code, reason):
print("Dev client disconnected: {} {} {}".format(
wasClean, code, reason))
session.connected = False
# Stop the app if remote debugging
if mode == 'remote':
session.app.stop()
else:
#: Try again in a few seconds
session.app.timed_call(1000, run)
factory = WebSocketClientFactory(session.url)
factory.protocol = DevClient
def run():
host = session.host
port = session.port
if mode == "remote":
host = session.url.split("/")[2]
if ":" in host:
host, port = host.split(":")
print("Starting websocket client...")
reactor.connectTCP(host, int(port), factory)
#: Start
session.app.deferred_call(run)
0
View Complete Implementation : dev.py
Copyright MIT License
Author : codelv
Copyright MIT License
Author : codelv
def start(self, session):
server = self
with enamlnative.imports():
from twisted.internet import reactor
from twisted.web import resource
from twisted.web.static import File
from twisted.web.server import Site
from autobahn.twisted.websocket import (
WebSocketServerFactory, WebSocketServerProtocol
)
from autobahn.twisted.resource import WebSocketResource
clast DevWebSocketHandler(WebSocketServerProtocol):
def onConnect(self, request):
print("Client connecting: {}".format(request.peer))
def onOpen(self):
print("WebSocket connection open.")
def onMessage(self, payload, isBinary):
r = session.handle_message(payload)
self.sendMessage(json.dumps(r))
def onClose(self, wasClean, code, reason):
print("WebSocket connection closed: {}".format(reason))
clast MainHandler(resource.Resource):
def render_GET(self, req):
return server.render_editor()
def render_POST(self, req):
#: Allow posting events
r = session.handle_message(req.content.getvalue())
return json.dumps(r)
factory = WebSocketServerFactory(
u"ws://0.0.0.0:{}".format(session.port))
factory.protocol = DevWebSocketHandler
root = resource.Resource()
root.putChild("", MainHandler())
root.putChild("dev", WebSocketResource(factory))
root.putChild("source", File(sys.path[0]))
root.putChild("tmp", File(os.environ.get('TMP',sys.path[0])))
site = Site(root)
reactor.listenTCP(session.port, site)
print("Twisted dev server started on {}".format(session.port))