Skip to content

nicky-chen/netty-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • 1 服务端启动流程 - test01
  • 2 客户端启动流程 - test02
  • 3 客户端与服务端双向通信 - test03
  • 4 数据传输载体 ByteBuf 介绍 - test04 #ByteBufTest
  • 5 客户端与服务端通信协议编解码 - test05 #PacketCodeC.java
  • 6 Netty 实现客户端登录 - test06 - 登录流程.png
  • 7 实现客户端与服务端收发消息与pipeline 与 channelHandler - test07

我们来实现客户端与服务端收发消息,我们要实现的具体功能是:在控制台输入一条消息之后按回车,校验完客户端的登录状态之后,把消息发送到服务端,服务端收到消息之后打印并且向客户端发送一条消息,客户端收到之后打印。

  • 8 拆包粘包理论与解决方案 - test08 #Spliter
  • 9 channelHandler 的生命周期 - test08 #LifeCyCleTestHandler
  • 10 AuthHandler使用 channelHandler的热插拔实现客户端身份校验 - test09 #AuthHandler
  • 11 客户端互聊原理与实现 - test09 #MessageRequestHandler
  • 12 群聊的发起与通知 - test10 #CreateGroupRequestHandler
  • 13 群聊的成员管理(加入与退出,获取成员列表) -test10 #JoinGroupRequestHandler QuitGroupRequestHandler ListGroupMembersRequestHandler
  • 14 群聊消息的收发及 Netty 性能优化 - test10 #GroupMessageRequestHandler 优化
1 共享 handler使用@ChannelHandler.Sharable注解 不每次创建
2 压缩 handler - 合并编解码器: 使用PacketCodecHandler代替单个编码或者解码的handler
3 缩短事件传播路径 - 合并平行 handler, 参考IMHandler
4 更改事件传播源 - 在某个 inBound 类型的 handler 处理完逻辑之后,调用ctx.writeAndFlush() 代替 ctx.channel().writeAndFlush()

  • 15 客户端心跳与服务端空闲检测 - test11 #IMIdleStateHandler HeartBeatTimerHandler

About

netty学习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages