Exemple #1
0
def main():
    handler = CalculatorHandler()
    processor = Calculator.Processor(handler)
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()
    server = TTornado.TTornadoServer(processor, pfactory)

    print("Starting the server...")
    server.bind(9090)
    server.start(1)
    ioloop.IOLoop.instance().start()
    print("done.")
 def _create_server(self, port=0):
     handler = CalculatorHandler()
     transport = TServerSocket(port)
     pfactory = THeaderProtocolFactory(client_types=THEADER_CLIENT_TYPES)
     return TNonblockingServer(
         Calculator.Processor(handler),
         transport,
         inputProtocolFactory=pfactory,
         outputProtocolFactory=pfactory,
         threads=1,
     )
Exemple #3
0
def thr():
    # get the thrift package from HTTP POST body
    body = request.get_data()
    content_length = int(request.headers["Content-Length"])
    # thrift setup
    itrans = TTransport.TMemoryBuffer(body)
    itrans = TTransport.TBufferedTransport(itrans, content_length)
    otrans = TTransport.TMemoryBuffer()
    handler = CalculatorHandler()
    processor = Calculator.Processor(handler)
    inputProtocolFactory = TBinaryProtocol.TBinaryProtocolFactory()
    outputProtocolFactory = inputProtocolFactory
    iprot = inputProtocolFactory.getProtocol(itrans)
    oprot = outputProtocolFactory.getProtocol(otrans)
    processor.process(iprot,oprot)
    response = make_response(otrans.getvalue())
    response.headers['Content-Type'] = 'application/x-thrift'
    return response, 200
Exemple #4
0
        self.log[logid] = log

        return val

    def getStruct(self, key):
        print 'getStruct(%d)' % (key)
        return self.log[key]

    def zip(self):
        print 'zip()'


# BINARY PROTOCOL

handler = CalculatorHandler()
processor = Calculator.Processor(handler)
transport = TSocket.TServerSocket(port=8000)
tfactory = TTransport.TBufferedTransportFactory()
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)

# JSON PROTOCOL - SLOWER

# handler = CalculatorHandler()
# processor = Calculator.Processor(handler)
# transport = TSocket.TServerSocket(port=8000)
# tfactory = TTransport.TBufferedTransportFactory()
# pfactory = TJSONProtocolFactory()
# host = '0.0.0.0'
# port = 8000
# server = THttpServer.THttpServer(processor, (host,port), pfactory)
Exemple #5
0
    def invoke(self, cmd, token, data):
        if cmd == 1:
            return json.dumps({token: data})
        else:
            return 'cmd不匹配'


class CcktvRoomHandler:
    def getBannerList(self, dic, idx):
        print(dic)
        return RpcResult(idx, 'akatsuki', 'data-mining')


if __name__ == "__main__":

    calculator_processor = Calculator.Processor(TransmitHandler())
    ccktv_room_processor = CcktvRoom.Processor(CcktvRoomHandler())
    processor = TMultiplexedProcessor()  # 接收多个service
    processor.registerProcessor('calculator', calculator_processor)
    processor.registerProcessor('ccktv_room', ccktv_room_processor)
    transport = TSocket.TServerSocket('127.0.0.1', 8000)
    tfactory = TTransport.TBufferedTransportFactory()
    pfactory = TBinaryProtocol.TBinaryProtocolFactory()
    server = TServer.TSimpleServer(processor, transport, tfactory, pfactory)
    server.serve()

#     handler = TransmitHandler()
#     processor = Calculator.Processor(handler)

#     transport = TSocket.TServerSocket('127.0.0.1', 8000)
#     tfactory = TTransport.TBufferedTransportFactory()