Example #1
0
        print("WebSocket connection closed: {0}".format(reason))

    def connectionLost(self, reason):
        print('connection lost: ' + reason.getErrorMessage())
        self.factory.numClients = self.factory.numClients - 1
        self.factory.clients.remove(self)
        msg = {'type': 'USER_LEFT', 'value': self.userId}
        msgToSend = json.dumps(msg)
        for client in self.factory.clients:
            if self.name is not None:
                client.sendMessage(msgToSend.encode('utf-8'))

if __name__ == '__main__':

    log.startLogging(sys.stdout)

    factory = WebSocketServerFactory(u"ws://127.0.0.1:9000")
    factory.protocol = MyServerProtocol
    factory.clients = []

    # note to self: if using putChild, the child must be bytes...

    loop = Loop('Periodic Loop', factory, bms, display)

    loop.start()

    signal.signal(signal.SIGINT, signal_handler)

    reactor.listenTCP(9000, factory)
    reactor.run()
Example #2
0
        except (JSONDecodeError, UnicodeDecodeError):
            return {}

    def _digest_incoming_data(self, data):
        _data = self.load(data)
        if not _data:
            return
        try:
            method = getattr(self, _data.get("operation"))
        except AttributeError:
            return
        method(_data.get("payload"))

    def transfer(self, payload, to=None):
        if not to:
            to = self.transport
        print(payload)
        self.sendMessage(json.dumps(payload).encode("utf-8"))


if __name__ == '__main__':
    factory = WebSocketServerFactory(u"ws://172.20.10.3:8585")
    factory.protocol = EiderProtocol
    factory.clients = dict()

    # noinspection PyUnresolvedReferences
    reactor.listenTCP(8585, factory)

    # noinspection PyUnresolvedReferences
    reactor.run()