zoukankan      html  css  js  c++  java
  • thrift-TProtocol

    thrift中protocol主要负责的是将message写入transport的过程。这一部分并不包含java的POJO和各个协议的转换,而只是提供写入transport的接口。具体的调用是放在生成的service类中的。

    TJSONProtocol

    以json格式读写数据

    TSimpleJSONProtocol

    json格式的一个简单实现,但是没有提供读的功能

    TBinaryProtocol

    以二进制格式进行输入读取

    TCompactProtocol

    这个格式会对数据进行压缩,它会沿用构造函数传入的protocol部分输出/读取格式,但会对数据进行压缩,如整数会被转换成zigzap的表示形式、将布尔型的值压缩在类型的msb

    TProtocolDecorator

    纯装饰器protocol,其实现TMultiplexedProtocol是用于进行消息多路复用时使用的

         TSocket transport = new TSocket("localhost", 9090);
         transport.open();
    
         TBinaryProtocol protocol = new TBinaryProtocol(transport);
    
         TMultiplexedProtocol mp = new TMultiplexedProtocol(protocol, "Calculator");
         Calculator.Client service = new Calculator.Client(mp);
    
         TMultiplexedProtocol mp2 = new TMultiplexedProtocol(protocol, "WeatherReport");
         WeatherReport.Client service2 = new WeatherReport.Client(mp2);
    
         System.out.println(service.add(2,2));
         System.out.println(service2.getTemperature());
    

    其是通过在message的name上加上构造函数的第二个入参MessageName来实现的。在服务端需要使用TMultiplexedProcessor来进行消息接受

  • 相关阅读:
    【转】我是一个线程
    前端之 JS 实现全选、反选、取消选中
    Python文件操作——逐行插入内容
    angularJs实现数据双向绑定的原理
    手机连接电脑调试页面
    工程化框架之feather
    网页上线后音频不能自动播放
    FormData对象
    地图热区自适应
    需求移交会
  • 原文地址:https://www.cnblogs.com/resentment/p/7350895.html
Copyright © 2011-2022 走看看