All Projects → jsbintask22 → netty-learning

jsbintask22 / netty-learning

Licence: other
bio, nio到 netty各种使用案例, 包含基础使用案例,各api使用方法,零拷贝,websocket,群聊,私聊,编码,解码,自定义协议,protobuf等使用案例,rpc服务器,客户端等等学习

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to netty-learning

Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+3938.78%)
Mutual labels:  netty, bio, nio
Wheel
关于net nio os cache db rpc json web http udp tcp mq 等多个小工具的自定义实现
Stars: ✭ 45 (-8.16%)
Mutual labels:  netty, rpc, nio
Jupiter
Jupiter是一款性能非常不错的, 轻量级的分布式服务框架
Stars: ✭ 1,372 (+2700%)
Mutual labels:  netty, rpc, nio
cheshuo
🎃A lightweight game server framework. Based on Springboot and Netty. Using ProtoBuf as communication between client and server.
Stars: ✭ 23 (-53.06%)
Mutual labels:  netty, nio, springboot
Simple Rpc
RPC with service discovery base on netty
Stars: ✭ 103 (+110.2%)
Mutual labels:  netty, rpc, nio
Gopush
分布式消息推送服务,可以用于客服、推送、聊天等诸多系统的 核心组件服务!
Stars: ✭ 204 (+316.33%)
Mutual labels:  netty, springboot
Thunder
⚡️ Nepxion Thunder is a distribution RPC framework based on Netty + Hessian + Kafka + ActiveMQ + Tibco + Zookeeper + Redis + Spring Web MVC + Spring Boot + Docker 多协议、多组件、多序列化的分布式RPC调用框架
Stars: ✭ 204 (+316.33%)
Mutual labels:  netty, rpc
litchi
这是一款分布式的java游戏服务器框架
Stars: ✭ 97 (+97.96%)
Mutual labels:  netty, rpc
NioSmtpClient
Smtp Client based on Netty
Stars: ✭ 25 (-48.98%)
Mutual labels:  netty, nio
Spring Dubbo Service
微服务 spring dubbo项目:dubbo rpc;druid数据源连接池;mybatis配置集成,多数据源;jmx监控MBean;定时任务;aop;ftp;测试;Metrics监控;参数验证;跨域处理;shiro权限控制;consul服务注册,发现;redis分布式锁;SPI服务机制;cat监控;netty服务代理;websocket;disconf;mongodb集成;rest;docker;fescar
Stars: ✭ 224 (+357.14%)
Mutual labels:  netty, rpc
qynat-spring-boot-starter
A springboot-starter that can achieve Intranet penetration. 一款可以实现内网穿透的springboot-starter。
Stars: ✭ 65 (+32.65%)
Mutual labels:  netty, springboot
Nettydemo
Netty应用到Android,包含客户端、服务端(断线重连、心跳、黏包处理)
Stars: ✭ 183 (+273.47%)
Mutual labels:  netty, nio
Doe
自己编写dubbo客户端实现rpc调用,在线调试dubbo接口、dubbo接口可视化测试、自动化测试工具。
Stars: ✭ 183 (+273.47%)
Mutual labels:  netty, rpc
Styx
Programmable, asynchronous, event-based reverse proxy for JVM.
Stars: ✭ 218 (+344.9%)
Mutual labels:  netty, nio
Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM
Stars: ✭ 12,544 (+25500%)
Mutual labels:  netty, nio
styx
Programmable, asynchronous, event-based reverse proxy for JVM.
Stars: ✭ 250 (+410.2%)
Mutual labels:  netty, nio
im-bass
基础IM通信
Stars: ✭ 56 (+14.29%)
Mutual labels:  netty, springboot
itstack-naive-chat-server
💞 《服务端》| 服务端同样使用Netty4.x作为socket的通信框架,同时在服务端使用Layui作为管理后台的页面,并且我们的服务端采用偏向于DDD领域驱动设计的方式与Netty集合,以此来达到我们的框架结构整洁干净易于扩展。同时我们的通信协议也是在服务端进行定义的,并对外提供可引入的Jar包,这样来保证客户端与服务端共同协议下进行通信。
Stars: ✭ 21 (-57.14%)
Mutual labels:  netty, springboot
twjitm-core
采用Netty信息加载实现长连接实时通讯系统,客户端可以值任何场景,支持实时http通讯、webSocket通讯、tcp协议通讯、和udp协议通讯、广播协议等 通过http协议,rpc协议。 采用自定义网络数据包结构, 实现自定义网络栈。
Stars: ✭ 98 (+100%)
Mutual labels:  netty, rpc
RPC
RPC is a highly available pluggable architecture for remote calls
Stars: ✭ 31 (-36.73%)
Mutual labels:  netty, rpc

netty

jdk bio,nio,aio各种使用案例,深入理解netty,结合源码以及文章分析:

  1. jdk原生nio的Buffer使用

  2. jdk原生的nio channel使用

  3. jdk原生的nio网络编程

  4. jdk原生的reactor编程模型(使用selector) 聊天室

  5. 零拷贝使用案例 文件上传

  6. netty 的演变模型(3中reactor使用案例 线程池的添加时机).

  7. netty的启动源码(对照之前jdk的写法分析) NioEventLoopGroup 中的成员变量分析(线程池)

  8. ChannelHandlerContext和ChannelPipeLine以及Channel的关系

  9. 使用netty自带的编码解码器编写一个聊天室

  10. 在9的基础上加入私聊功能

  11. 在10的基础上加入protobuf的反序列化,提高效率

  12. netty在解码过程中的拆包,粘包(由于不知道传输过程是否会一次性传过来一个协议的数据)ByteToMessageDecoder

  13. handler执行顺序,结合12 分析 入站, 出站 代码, MessageToByteEncoder

  14. writeAndFlush在 channel和ChannelHandlerContext中的区别 (调换 Encoder的位置,找出区别, 最后debug到HeadContext 的flush方法) 以及执行过程(executemask的作用) writeAndFlush 源码执行流程

  15. channel最后flush的时候调用javaChannel() write 生成了一个DirectByteBuff 可以提高效率

  16. EventExecutorGroup EventExecutor EventLoopGroup EventLoop SingleThreadEventLoop NioEventLoop 关系

  17. debug NioEventLoop的源码run (processSelectedKeys(注意finally块有一个runAllTasks方法,确保完成所有channel事件后,在从这个线程执行所有的task任务)-> processSelectedKeysPlain),跟踪ChannelPipeline的初始read() 触发是怎么开始的

  18. NioServerSocketChannel是如何被创建的以及是如何真正绑定java channel的

  19. to be continue...

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].