服务端基本步骤:
实现服务处理接口impl
创建TProcessor
创建TServerTransport
创建TProtocol
创建TServer
启动Server
客户端基本步骤:
创建Transport
创建TProtocol
基于TTransport和TProtocol创建Client
调用Client的相应方法
协议层TProtocol:
在传输协议上总体上划分为文本(text)和二进制(binary)传输协议, 为节约带宽,提供传输效率,一般情况下使用二进制类型的传输协议为多数。
1>TBinaryProtocol – 二进制编码格式进行数据传输。
2>TCompactProtocol – 高效的编码方式,使用类似于protobuffer的Variable-Length Quantity (VLQ) 编码(可以节省传输空间,使数据的传输效率更高)对数据进行压缩。
3>TJSONProtocol – 使用JSON的数据编码协议进行数据传输。
4>TSimpleJSONProtocol – 这种节约只提供JSON只写的协议,适用于通过脚本语言解析
5>TDebugProtocol – 在开发的过程中帮助开发人员调试用的,以文本的形式展现方便阅读。
1>TSocket- 使用阻塞式I/O进行传输,也是最常见的模式。
2>TFramedTransport- 使用非阻塞方式,按块的大小,进行传输,类似于Java中的NIO。
3>TFileTransport- 顾名思义按照文件的方式进程传输,虽然这种方式不提供Java的实现,但是实现起来非常简单。
4>TMemoryTransport- 使用内存I/O,就好比Java中的ByteArrayOutputStream实现。
6>TNonblockingTransport-使用非阻塞方式,用于构建异步客户端。
服务端类型 :
1>TSimpleServer - 单线程服务器端使用标准的阻塞式I/O。
2>TThreadPoolServer - 多线程服务器端使用标准的阻塞式I/O。
3>TNonblockingServer – 多线程服务器端使用非阻塞式I/O,并且实现了Java中的NIO通道。