t-io作为国内出名的开源网络编程框架,受到业界的宽泛赞美和应用,要一个想要学习或者想要应用t-io的人员,最快的理解t-io的办法就是学习t-io相干的工程文档,次要蕴含五个局部:
tio-study工程
tio-websocket-showcase工程
tio-http-server-showcase工程
tio-udp-showcase工程
tio-websocket-client 工程
具体请参考:https://www.wanetech.com/doc/…
别离介绍如下:
tio-study工程简介
用于学习t-io的示范工程,目前蕴含3个工程:Hello world、Showcase、IM
上面别离对这三个工程进行解说
一、helloworld
helloworld是入门t-io最好的形式!而作者也是用心写了一个对生产我的项目有参考价值的hello tio,而不是仅仅是show hello而hello
在以前没有文档的日子,t-io第一批用户就是通过这个工程把握t-io的
服务器端入口程序:org.tio.study.helloworld.server.HelloServerStarter
客户端入口程序:org.tio.study.helloworld.client.HelloClientStarter
本例子演示的是一个典型的TCP长连贯利用,大体业务简介如下。
分为server和client工程,server和client共用common工程
服务端和客户端的音讯协定比较简单,音讯头为4个字节,用以示意音讯体的长度,音讯体为一个字符串的byte[]
服务端先启动,监听6789端口
客户端连贯到服务端后,会被动向服务器发送一条音讯
服务器收到音讯后会回应一条音讯
之后,框架层会主动从客户端发心跳到服务器,服务器也会检测心跳有没有超时(这些事都是框架做的,业务层只须要配一个心跳超时参数即可)
框架层会在断链后主动重连(这些事都是框架做的,业务层只须要配一个重连配置对象即可)
客户端界面
服务器端界面
二、showcase
showcase工程用于进一步把握t-io,甚至能够用作你我的项目的脚手架(@精灵007 同学曾经用这个工程实现了3个我的项目)
这里有一篇博客,能够参考:ShowCase设计剖析
服务器端入口程序:org.tio.study.showcase.server.ShowcaseServerStarter
客户端入口程序:org.tio.study.showcase.client.ShowcaseClientStarter
客户端界面
服务器端界面
三、IM
im我的项目在1.7.0版本前始终都凋谢的,思考到im的复杂性,这会给作者带来一些额定的征询工作,所以在前面的版本没有放进去,当初从新放进去
j-im我的项目是在本我的项目的根底上革新而来的,有趣味的能够看看j-im最早的fork版本
服务器端入口程序:org.tio.study.im.server.starter.ImServerStarter
客户端入口程序:org.tio.study.im.client.starter.ImClientStarter
看看爆裂的性能数据吧
tio-websocket-showcase工程简介
引言
tio-websocket-server是基于tio-core实现的websocket服务器,自带t-io提供的各项API以及一流的性能和稳定性
tio-websocket-showcase工程简介
用于学习tio-websocket-server的示范工程
包含wss和流量监控及解决等高级个性
还包含t-io作者写的一个用于连贯websocket服务器的js小框架——tiows.js(内置断链重连、定时被动发心跳等性能,应用API极其简略)
效果图
学习步骤
把工程以maven的模式导入到eclipse后
批改\src\main\resources\page\im.js,把127.0.0.1改成你本人的ip地址(如果只是本机拜访,能够不必批改)
运行org.tio.showcase.Starter
用chrome关上http://127.0.0.1/index.html(阐明:本工程不仅会启动websocket服务器,还会启动一个http服务器用于拜访websocket服务器)
这是个用iframe嵌入了两个im.html的页面,不便在一个窗口查看群聊成果
能够欢快地聊天了
阐明
服务器端,大家看代码就好,用起来比较简单
客户端(js),page/tio/tiows.js是和业务无关的websocket js小框架,次要是实现了重连、定时发心跳等和业务无关的性能
**tio-http-server-showcase工程
引言**
tio-http-server是基于tio-core实现的http服务器,自带t-io提供的各项API以及一流的性能和稳定性
tio-http-server-showcase工程简介
**用于学习tio-http-server的示范工程
入口程序**
控制器
启动胜利日志
拜访
用浏览器关上:http://127.0.0.1
**tio-udp-showcase工程
引言**
tio-udp是蕴含在tio-core的一个性能子集
tio-udp-showcase工程简介
用于学习tio-udp-server的示范工程
学习步骤
把工程以maven的模式导入到eclipse后
运行org.tio.showcase.udp.server.ShowcaseUdpServerStarter启动udp服务器,启动胜利后,日志如下
运行org.tio.showcase.udp.client.UdpClientStarter
察看服务器端的console,会看到如下日志
整个工程才3个类,简略到极致
tio-websocket-client 工程
tio-websocket-client的API格调靠近浏览器端的WebSocket API
1、援用dependence,如maven:
2、创立WebSocket Client:
调用WsClient.create办法创立WsClient:
additionalHttpHeaders将增加到HTTP握手包的Header中,次要用于增加token等鉴权行为
例如:
3、调用client.connect()连贯到服务器
4、像前端一样应用WebSocket
应用https://www.websocket.org/ech…的echo服务的残缺示例:
发表回复