Example #1
0
@defer.inlineCallbacks
def read(queue_object, proto_dict):
    ch, method, properties, body = yield queue_object.get()
    user = int(properties.type)
    print('sending to', user)
    for c in proto_dict.get(user, []):
        yield c.sendMessage(body, False)
    print('sended to', user)


if __name__ == '__main__':
    log.startLogging(sys.stdout)
    factory = WebSocketServerFactory("ws://127.0.0.1:8077")
    factory.protocol = WSP
    factory.setProtocolOptions(maxConnections=10000)
    factory.connections_dict = {}
    factory.pings_lost = {}

    reactor.listenTCP(8077, factory)
    cc = protocol.ClientCreator(
        reactor, twisted_connection.TwistedProtocolConnection,
        pika.ConnectionParameters(
            '127.0.0.1',
            5672,
            'mywill',
            pika.PlainCredentials('java', 'java'),
            heartbeat_interval=0,
        ))
    d = cc.connectTCP('127.0.0.1', 5672)
    d.addCallback(lambda protocol: protocol.ready)
    d.addCallback(run, factory.connections_dict)