java中talent-aio_通讯框架:talent-aio实例

talent-aio是一个基于Java AIO的通讯框架,提供简单易用且高性能的API,适用于IM、实时监控、RPC和推送服务等场景。该框架具有强大的心跳检测、自动重连、消息同步等功能,并且内置统计功能。通过简单的 HelloWorld 示例,展示了服务端和客户端的交互过程,包括消息协议、编码解码以及如何启动服务和客户端。
摘要由CSDN通过智能技术生成

简 介

talent-aio是基于java aio实现的即时通讯框架,源于作者另一个久经考验的talent-nio框架,但在易用性、性能及代码可读性方面又远远超越了talent-nio。官网地址:http://www.talent-tan.com:9292,上面有大家期待已久的入门文档。

应用场景

IM、实时监控、RPC、推送服务等实时通讯类型的场景

特 点

极简洁清晰易懂的API: 没有生涩难懂的新概念,只需花上30分钟学习helloworld就能很好地掌握并实现一个性能极好的即时通讯应用

极震撼的性能

可同时支持10万级tcp长连接,彻底甩开业界当年的c10K烦恼

每秒可收发283万条消息(约80M)(windows7、i7、8g、群聊场景)

极亲民的内置功能

框架层面帮你检测心跳(tcp server)、发送心跳(tcp client)

框架层面支持自动重连(可设置重连间隔时间和重连次数)

框架层面支持同步消息(消息发送后,等到响应消息再往下执行)

框架层面支持绑定userid(用于用户关联)、绑定groupid(用于群聊)

内置各项统计功能----接受过多少连接、关闭过多少连接、已发送的消息数、已接收的消息数、当前是多少正常连接、当前多少断开的连接等。

Helloword实践

服务端和客户端的消息协议比较简单,消息头为4个字节,用以表示消息体的长度,消息体为一个字符串的byte[]

服务端先启动,监听6789端口

客户端连接到服务端后,会主动向服务器发送一条消息

服务器收到消息后会回应一条消息

之后,框架层会自动从客户端发心跳到服务器,服务器也会检测心跳有没有超时

公用模块

引入maven依赖

c87333ce68ed61903737d280b527bcf9.png

定义业务消息包结构

90478df163c0d8b6d006e5bf914fafa5.png

有时候服务器和客户端的业务消息包结构不一样,这种情况下,消息包的定义就不要放在公共模块

编码

ed16ebb87435199c394020579a87da6e.png

有时候服务器端和客户端的编码解码算法不一样,需要分别放在服务器端和客户端完成

解码

d652eb5451268e41a9ff065b2c45dbfb.png

有时候服务器端和客户端的编码解码算法不一样,需要分别放在服务器端和客户端完成

约定端口

08c79c0dbc3584ed74bb37fb08a5ae31.png

服务端代码

引入依赖

8298a7b6cdb06141b279040330eb9823.png

HelloServerAioHandler类

1d05546be6a114515708cf06e8cb87fc.png

此处继承自HelloAbsAioHandler,父类已经完成编码和解码的工作

启动程序

2404ca4cfd3b776114bdc55dd3f24b11.png

客户端模块

引入依赖

29181f11d70d413451b57f788c3d44ad.png

HelloClientAioHandler类

efd6177e1db54551f1b04aa6e3560486.png

此处继承自HelloAbsAioHandler,父类已经完成编码和解码的工作

启动程序

56f05b6d14f31755cb48f4a0166b2a39.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值