要想轻松驾驭t-io,提高编程效率,学习示范工程很重要

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/124

分别介绍如下:

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/echo.html的echo服务的完整示例:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容