t-io简介
T-io是一个基于Java AIO开发的网络编程框架。从收集的案例来看,t-io广泛应用于IoT、IM、客服等领域,是一流的网络编程框架
- 快速入门:显示代码和文档
- 用户案例:看看谁在使用 t-io,并愿意让每个人都知道他们在使用 t-io
- 提交案例:这将增加您产品的曝光度,让更多人了解您的产品
- 删除案例:曾经有那么一刻,您不希望自己的案例被更多人知道
源代码存储库
设计使命
降低网络编程的难度和复杂度,让业务开发人员只专注于业务设计和实现,而不用在网络编程细节、多线程安全、并发性能上花费太多时间
功能介绍
- 自动心跳处理:心跳超时检测(服务器端)、心跳定时发送(客户端)
- 用户管理:Tio.bindUser()、Tio.getByUserid()
- 令牌管理:Tio.bindToken()、Tio.getByToken()
- 组管理:Tio.bindGroup()、Tio.getByGroup()
- 同步发送:Tio.synSend(),需要协议配合
- 块发送:Tio.bSend(),等待消息发送成功才返回
- 异步发送:Tio.send(),将消息放入队列中发送
- 统一的TCP&UDP编程API :除了启动代码略有不同外,面向业务的API几乎相同。为TCP/UDP之间的一键切换提供了极大的便利
- 协议适配:通过协议转换可以将不同的协议转换为相同的协议,便于统一业务处理
- 单通道流量监控:最后接收业务消息包时间、最后发送业务消息包时间、最后接收字节时间、最后发送字节时间、最后数据包进入发送队列时间、ChannelContext对象创建时间、首次成功连接、连接关闭时间、该连接发送的字节数、该连接发送的数据包数、该连接处理的字节数、该连接处理的数据包数、处理消息包的时间、此连接接收的字节数,此连接接收的 TCP/UDP 数据包数连接、该连接接收的数据包数量T计数、心跳超时计数、平均每个TCP接收的字节数、平均数据包处理时间、平均每个TCP接收的业务数据包数
- 通道组流量监控:参考GroupStat.java
- 资源共享:同一个JVM启动多个服务器时,可以直接共享各个服务器的资源,简化编程和统计
- 自动重连:当客户端断开连接时,t-io提供自动重连机制
- 集群(商用产品附带) :T-IO内置强大的集群能力,支持单机集群、双机集群、多机集群。业务节点可以在各个集群的服务器之间自由切换
- 订阅树(附指定商业产品) :t-io内置强大的高性能订阅树,可以轻松完成订阅、发布等能力
- MQTT协议(指定商业产品附带) :t-io内置mqtt协议,包括服务器端和客户端
生态及案例介绍
HTTP服务器
Tio HTTP 实现了 HTTP 协议,内置了一个 MVC,可以替代 Tomcat、Jetty 等容器完成 HTTP 访问
Websocket服务器
Tio websocket已经实现了websocket协议,目前很多用户使用它作为自己的websocket访问服务器
MQTT压力测试工具(商业产品)
TiOMQ Meter是基于t-io和swing开发的MQTT压力测试工具。不仅可以测试纯MQTT协议服务器,还可以测试自适应MQTT协议
网络调试工具(非开源)
Tio Network Debug是基于t-io和swing开发的网络协议调试工具,主要用于产品的早期协议集成
MQTT 客户端(免费)
请参考:https://www.tiomq.com/product/client
TiOMQ平台(商业产品)
这是一个物联网平台,详细信息可以参考:https://env1.tiomq.com
其他案例
更多生态或案例研究可以在 https://www.tiocloud.com/1/case/ 查看
商务合作