Netty的基本使用

本系列文章记录项目的一些实战经验,从基本使用到底层原理、源码分析等。

本系列文章Netty相关示例

1、简单的HTTP服务器,HttpServerCodec:HTTP SERVER 编码解码器。封装了HttpServerRequestDecoder和HttpServerResponseEncoder

2、简单的WebSocket:

        server端:HttpServerCodec + ChunkedWriteHandler+HttpObjectAggregator+WebSocketServerProtocolHandler

        client端:JS实现见程序示例;或者Java实现:HttpClientCodec+ChunkedWriteHandler+HttpObjectAggregator+WebSocketClientProtocolHandler

        另外服务器和客户端之间的消息传输基于WebSocketFrame消息类型(共六种)

3、我们了解这些后,最好的学习方式是先回过头来,学习一下RPC:

    1)protobuf

        Netty提供官方的Handler支援了protobuf,见程序示例。

    2)thrift

        Apache下的一个知名项目,Linux下安装需要安装好g++,然后编译安装

        对于Java的支持:

            写法很像Android的AIDL,RemoteService -> Client

            server的组成元素:transport、protocol、server

            比较常用的server,THsHaServer:

            THsHaServer:1)配置server的transport -- TNonblockingServer的进一步封装,另外TNonblockingServerd的transportFactory必须用TFramedTransport.Factory。  2)配置server的protocol -- TCompactProtocol(压缩的)或者TBinaryProtocol(二进制的)等等。  3)自定义的Processor的实现,thrift编译器自动生成。

            需要注意的是client端的protocol和transport需要和server端对应

    3)grpc

            努力更新中。。。

你可能感兴趣的:(Netty的基本使用)