# hdl-parent **Repository Path**: MyuTang/hdl-parent ## Basic Information - **Project Name**: hdl-parent - **Description**: netty+springboot打造高性能TCP+JSON/XML接口 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2019-12-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hdl-netty-spring-boot #### 介绍 netty+springboot打造高性能TCP+JSON/XML接口 使用tcp协议接口大大的提升了接口性能 #### 软件架构 软件架构说明 SpringBoot2.1.5 + Netty 4.1.37 #### 安装教程 1. 下载源码 2. 启动NettyApp 3. 使用Jemter或其他TCP工具发送JSON/XML流式数据访问接口 #### 使用说明 1. Netty配置几乎都在yml/properties中可灵活配置,如下: ``` ####################################### # Netty Server Config ####################################### netty: server: # netty功能启动开关, 默认为false enable: true # netty 主线程池(接受数据的线程池)大小,默认值为1 bosses: 4 # netty 工作线程池大小,默认值为1 workers: 4 # 启动端口 port: 8099 # 启动延时,默认1000ms start-delay-time: 1000 # 接受数据的缓冲区大小配置,单位是字节 recbuf: # 最小值默认1KB min-size: 1024 # 初始值默认为10K initail: 10240 # 最大值默认为1M max-size: 1048576 json-response: # JSON返回是否包含顶层字段(如果有顶层字段该配置才生效),默认是false is-contains-top: false # JSON返回是否包含Head字段(如果有Head字段该配置才生效),默认是true is-contains-head: true # JSON返回是否包含Body字段(如果有Body字段该配置才生效),默认是true is-contains-body: true xml-response: # Xml返回是否包含顶层字段(XML有顶层标签,所以这里只能设置为true),默认是true is-contains-top: true # 限制支持的顶层字段 top-fields: Message,message # 限制支持的首部字段,与主体部分一段一一对应,默认支持配置Head head-fields: Head,head,HEAD # 限制支持的主体字段,与首部部分一段一一对应,默认支持配置Body body-fields: Body,body,BODY ``` 2、 主要类说明 Netty服务启动类:com.hdl.netty.server.NettySocketServer 数据接收处理器:com.hdl.netty.handler.SocketReceiveDataHandler,支持默认可接受最大数据1M,可自行配置 业务逻辑处理器:com.hdl.netty.handler.SocketRequestHandler,其父类使用模板方法完成固定流程,让业务处理类专注于业务 数据返回处理器:com.hdl.netty.handler.SocketResponseHandler 请求数据转化为通用格式Map处理类:com.hdl.netty.req.ReqData2MapFacade 可配置化文件类:com.hdl.netty.config.properties.BaseNettyServerProperties 3、如需了解更多,请查看源码 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)