Skip to content
/ t-io Public
forked from tywo45/t-io

A Network Programming Framework Developed Based on Java AIO

License

Notifications You must be signed in to change notification settings

RoseWJJ/t-io

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to t-io

T-io is a network programming framework developed based on Java AIO

Design Mission

Reduce the difficulty and complexity of network programming, allowing business developers to focus only on business design and implementation, without spending too much time on network programming details, multi-threaded security, and concurrency performance

Function Introduction

  1. Automatic heartbeat processing: heartbeat timeout detection (server side), heartbeat timing sending (client side)
  2. User Management: Tio.bindUser(), Tio.getByUserid()
  3. Token Management: Tio.bindToken(), Tio.getByToken()
  4. Group Management: Tio.bindGroup(), Tio.getByGroup()
  5. Synchronous sending: Tio.synSend(), requires protocol cooperation
  6. Block sending: Tio.bSend(), wait for the message to be successfully sent before returning
  7. Asynchronous sending: Tio.send(), putting the message into the queue for sending
  8. Unified TCP&UDP Programming API: Except for slightly different startup codes, the business oriented APIs are almost identical. Provides great convenience for one click switching between TCP/UDP
  9. Protocol Adaptation: Different protocols can be converted into the same protocol through protocol conversion, facilitating unified business processing
  10. Single channel traffic monitoring: time of last received business message packet, time of last sent business message packet, time of last received byte, time of last sent byte, time of last packet entering the sending queue, time of ChannelContext object creation, time of first successful connection, time of connection closure, number of bytes sent by this connection, number of packets sent by this connection, number of bytes processed by this connection, number of packets processed by this connection, time taken to process message packets, number of bytes received by this connection, number of TCP/UDP packets received by this connection, number of packets received by this connection T count, heartbeat timeout count, average number of bytes received per TCP, average packet processing time, average number of business packets received per TCP
  11. Channel Group Traffic Monitoring: Refer to GroupStat.java
  12. Resource Sharing: When the same JVM starts multiple servers, the resources of each server can be directly shared, simplifying programming and statistics
  13. Automatic reconnection: When the client disconnects, t-io provides an automatic reconnection mechanism
  14. Cluster (attached to commercial products): T-IO has a powerful clustering capability built-in, supporting single machine clusters, dual machine clusters, and multi machine clusters. Business nodes can switch freely between servers in each cluster
  15. Subscription Tree (attached to specified commercial products): t-io has a powerful high-performance subscription tree built-in, which can easily complete subscription, publishing and other capabilities
  16. MQTT protocol (attached to specified commercial products): t-io has built-in mqtt protocol, including server-side and client-side

Ecological and Case Introduction

HTTP server

Tio HTTP has implemented the HTTP protocol and built-in an MVC, which can replace containers such as Tomcat and Jetty to complete HTTP access

Websocket server

Tio websocket has implemented the websocket protocol, and currently many users use it as their websocket access server

MQTT stress testing tool (commercial product)

TiOMQ Meter is an MQTT stress testing tool developed based on t-io and swing. It can not only test pure MQTT protocol servers, but also test adaptive MQTT protocols Enter image description

Network debugging tool (not open source)

Tio Network Debug is a network protocol debugging tool developed based on t-io and swing, mainly used for early protocol integration of products Enter image description

MQTT client (free)

Please refer to:https://www.tiomq.com/product/client Enter image description

TiOMQ Platform (Commercial Product)

This is an IoT platform, details can refer to:https://env1.tiomq.com Enter image description

Other cases

More ecological or case studies can be found at https://www.tiocloud.com/1/case/ View

Business cooperation

Enter image description

About

A Network Programming Framework Developed Based on Java AIO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.7%
  • Other 0.3%