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

            努力更新中。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容