1 Star 0 Fork 0

羽落风起 / netty-model

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

[toc]

  • 2021-07-19

说明

  • 本项目为netty相关功能实例项目,主要包括serializable、JBoss Marshalling、Protobuf、Thrift数据类型编码和解码。

资料

  • string代码 博客
  • Jboss Marshalling 博客 实体类和自定义编码解码
  • 客户端连接多个服务端博客
  • ftp实例博客
  • webSocket博客
    • 我们一直使用的http协议只能由客户端发起,服务端无法直接进行推送,这就导致了如果服务端有持续的变化客户端想要获知就比较麻烦。WebSocket协议就是为了解决这个问题应运而生。WebSocket协议,客户端和服务端都可以主动的推送消息,可以是文本也可以是二进制数据。而且没有同源策略的限制,不存在跨域问题。协议的标识符就是ws。
    • WebSocket是H5之后提供的一种网络通讯技术,属于应用层协议。它基于 TCP 传输协议,并复用 HTTP 的握手通道。

编码解码器

  • serializable :原生java编解码。效率低,编码后存储大。不跨语言。
  • Protobuf:谷歌开发,效率高、跨语言,支持java、C++、python三种语言
  • Thrift:facebook开发,支持C++、C#、Cocoa、Erlang、Haskell、Java、Ocami、Perl、PHP、Python、Ruby和Smalltalk
  • JBoss Marshalling,优化原生java编码解码器
  • MessagePack 编码

资料

  • netty服务端主动关闭连接造成端口大量TIME_WAIT解决方法博客

结构

rpc

  • rpc是分布式通信核心功能,用于监控汇集分布式框架中各个节点任务状态和数据信息。
  • 以下将通过多种编码解码方式实现rpc通信实例。

string

  • 包路径:com.netty.cn.rpc.string
  • channel使用类:ChannelInboundHandlerAdapter
  • server端
    • 两个handler
  • client
    • 支持server端关闭后10S重连。

jboss

  • 包路径:com.netty.cn.rpc.jboss
  • channel使用类:ChannelInboundHandlerAdapter

protoc

  • 包路径:com.netty.cn.rpc.protoc
  • channel使用类:SimpleChannelInboundHandler

自定义网包

  • 包路径:com.netty.cn.rpc.selfmessage
  • 自定义通信网包,灵活度更高。

model

http

  • 包路径:com.netty.cn.model.http
  • 协议:TCP
  • 说明
    • http服务因为服务端主动请求关闭连接,TCP协议端口会统一由系统管理,TIME_WAIT状态存在,等到过了有效时间,系统清除,如果连接数过多,因TIME_WAIT造成连接失败,可修改系统,缩短TIME_WAIT时间,或复用TIME_WAIT状态端口。

chat聊天室

  • 包路径:com.netty.cn.model.chat
  • 协议:TCP

moreClient

  • 包路径:com.netty.cn.model.MoreClient
  • 协议:TCP
  • 说明
    • 多个服务端,一个客户端连接多个服务端,编码使用jboss

ftp

  • 包路径:com.netty.cn.model.ftp
  • 协议:TCP
  • 说明
    • 指定路径建立ftp服务
    • 目录和文件增加不同图标

websocket

  • 包路径:com.netty.cn.model.websocket
  • 协议:TCP
  • 说明
    • 与前端双向请求响应socket通信

UDP

  • 包路径:com.netty.cn.model.udp
  • 协议:UPD
  • 说明
    • 与前端双向请求响应socket通信

socket

  • 包路径:com.netty.cn.model.socket
  • 协议:TCP
  • 说明
    • 基础底层通信方式

sendFile

  • 自定义发送文件

记录

  • 2023-03-15
    • 自定义netty发送文件
  • 2023-02-21
    • 实现自定义网包通信
  • 2023-02-06
    • 增加socket实例
  • 2021-07-28
    • 增加客户端长连接多个服务器实例
  • 2021-08-05
    • 增加http服务程序
  • 2021-08-06
    • http实例,增加页面返回
    • 增加ftp服务实例
    • 增加websocket实例
  • 2021-11-02
    • 增加http服务其他版本实现
    • 增加udp服务

空文件

简介

暂无描述 展开 收起
Java 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/wangzonghui/netty-model.git
git@gitee.com:wangzonghui/netty-model.git
wangzonghui
netty-model
netty-model
master

搜索帮助