700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > netty玩转irving聊天室(android整合netty客户端+springboot整合netty服务端) 附源码

netty玩转irving聊天室(android整合netty客户端+springboot整合netty服务端) 附源码

时间:2023-10-12 07:59:12

相关推荐

netty玩转irving聊天室(android整合netty客户端+springboot整合netty服务端) 附源码

什么是Netty?

Netty是一个异步事件驱动的网络应用程序框架

用于快速开发可维护的高性能协议服务器和客户端。

Netty优势:

使用简单:封装了 NIO 的很多细节,使用更简单。功能强大:预置了多种编解码功能,支持多种主流协议。定制能力强:可以通过 ChannelHandler 对通信框架进行灵活地扩展。性能高:通过与其他业界主流的 NIO 框架对比,Netty 的综合性能最优。稳定:Netty 修复了已经发现的所有 NIO 的 bug,让开发人员可以专注于业务本身。社区活跃:Netty 是活跃的开源项目,版本迭代周期短,bug 修复速度快。

android客户端+springboot服务端

从下面四点给大家介绍核心代码模块,及源码提供。

1、irving聊天室功能介绍

2、android客户端

3、springboot服务端

4、源码git分享

1、目前irving聊天室功能(后期会更新)

1.1 、登录页,手动绑定服务ip、端口、并记住ip用户信息。灵活的实现了本地服务调试,和线上聊天功能。

1.2、加入聊天室的,可以便可聊天,自动退出(返回),和结束程序,都会退出群聊,更新在线人数。

1.3、心跳检测机制,服务端检测到客户端多少次没发消息就关闭客户端(具体下面代码部分详细讲解),客户端退出登录页面

2、android整合netty客户端

2.1、ChatClient客户端,封装netty组件,连接netty服务端。

2.2、ChatClientHandler自定义逻辑处理handler。

channelActive()方法,连接netty服务成功

channelRead0()方法,读取到netty服务端的消息

exceptionCaught()方法,远程netty服务异常时关闭连接

2.3、ChatManager 处理器管理器。发送消息和接收服务端发过来的消息。并返回activity,通知ui线程更新ui界面内容(在线人数,群里人上线,离线提醒)

2.4、IMMessage、CoderUtil自定义消息指令,自定义编码解码规则。

3、springboot 整合netty服务端

3.1、ChatServer封装netty组件、启动netty服务端。

1、封装组件

2、ChatServer实现DisposableBean接口,能在bean销毁的时候优雅的关闭netty,主从线程组。

3.2、自定义发布事件动作,Springboot启动类启动后,启动ChatServer

3.3、MsgProcessor消息处理类、对客户端发过来的消息,解码后,对应消息指令,做出相应的反馈。

3.4、ChatServerHandler,消息处理服务Handler。

1、接收客户端消息

2、客户端异常关闭处理

3.5、HeartBeatHandler服务端心跳检测,自定义超时事件,远程关闭客户端

4、项目源码

android整合netty客户端

springboot整合netty服务端

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。