Python autobahn.twisted.websocket.WebSocketServerProtocol() Examples
The following are 2
code examples of autobahn.twisted.websocket.WebSocketServerProtocol().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
autobahn.twisted.websocket
, or try the search function
.
Example #1
Source File: server_websocket.py From magic-wormhole-mailbox-server with MIT License | 5 votes |
def __init__(self): websocket.WebSocketServerProtocol.__init__(self) self._app = None self._side = None self._did_allocate = False # only one allocate() per websocket self._listening = False self._did_claim = False self._nameplate_id = None self._did_release = False self._did_open = False self._mailbox = None self._mailbox_id = None self._did_close = False
Example #2
Source File: websocket.py From pajbot with MIT License | 4 votes |
def __init__(self, manager, port, secure=False, key_path=None, crt_path=None, unix_socket_path=None): self.manager = manager from twisted.internet import reactor, ssl from autobahn.twisted.websocket import WebSocketServerFactory, WebSocketServerProtocol class MyServerProtocol(WebSocketServerProtocol): def onConnect(self, request): # log.info(self.factory) # log.info('Client connecting: {0}'.format(request.peer)) pass def onOpen(self): log.info("WebSocket connection open") WebSocketServer.clients.append(self) def onMessage(self, payload, isBinary): if isBinary: log.info(f"Binary message received: {len(payload)} bytes") else: log.info(f"Text message received: {payload.decode('utf8')}") def onClose(self, wasClean, code, reason): log.info(f"WebSocket connection closed: {reason}") try: WebSocketServer.clients.remove(self) except: pass factory = WebSocketServerFactory() factory.setProtocolOptions(autoPingInterval=15, autoPingTimeout=5) factory.protocol = MyServerProtocol def reactor_run(reactor, factory, port, context_factory=None, unix_socket_path=None): if unix_socket_path: sock_file = Path(unix_socket_path) if sock_file.exists(): sock_file.unlink() reactor.listenUNIX(unix_socket_path, factory) else: if context_factory: log.info("wss secure") reactor.listenSSL(port, factory, context_factory) else: log.info("ws unsecure") reactor.listenTCP(port, factory) reactor.run(installSignalHandlers=0) if secure: context_factory = ssl.DefaultOpenSSLContextFactory(key_path, crt_path) else: context_factory = None reactor_thread = threading.Thread( target=reactor_run, args=(reactor, factory, port, context_factory, unix_socket_path), name="WebSocketThread" ) reactor_thread.daemon = True reactor_thread.start()