# hdl-parent **Repository Path**: shuaidezixin/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**: 2020-03-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # bsfit-netty #### 介绍 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 initial: 10240 # 最大值默认为1M max-size: 1048576 json-response: # JSON返回是否包含顶层字段(如果有顶层字段该配置才生效),默认是false contains-top: true # JSON返回是否包含Head字段(如果有Head字段该配置才生效),默认是true contains-head: true # JSON返回是否包含Body字段(如果有Body字段该配置才生效),默认是true contains-body: true xml-response: # Xml返回是否包含顶层字段(XML有顶层标签,所以这里只能设置为true),默认是true contains-top: true # 限制支持的顶层字段 top-fields: Message,message # 限制支持的首部字段,与主体部分一段一一对应,默认支持配置Head head-fields: Head,head,HEAD # 限制支持的主体字段,与首部部分一段一一对应,默认支持配置Body body-fields: Body,body,BODY ``` 2、 主要类说明 Netty服务启动类:cn.com.bsfit.netty.server.NettySocketServer 数据接收处理器:cn.com.bsfit.netty.handler.SocketReceiveDataHandler,支持默认可接受最大数据1M,可自行配置 业务逻辑处理器:cn.com.bsfit.netty.handler.SocketRequestHandler,其父类使用模板方法完成固定流程,让业务处理类专注于业务 数据返回处理器:cn.com.bsfit.netty.handler.SocketResponseHandler 请求数据转化为通用格式Map处理类:cn.com.bsfit.netty.req.ReqData2MapFacade 可配置化文件类:cn.com.bsfit.netty.config.properties.BaseNettyServerProperties 3、如需了解更多,请查看源码以及doc文件夹下详细文档<<项目介绍.doc>>