web开发领域,springmvc之外有jfinal;TCP长连接领域,netty之外还有更易用的talent-aio
更好用、更接开发人员地气的TCP长连接框架,talent-aio 1.0.2正式版发布,已更新到maven中心仓库,talent-aio详细介绍请前往如下地址
-
talent-tan家的临时官网: http://www.talent-tan.com:9292,感谢南京皓叶腾信息科技有限公司CEO提供主机支持
-
红薯家的OSC: https://www.oschina.net/p/talent-aio
-
还有一个不太维护的github(不太维护是因为速度没码云快): https://github.com/tywo45/talent-aio
-
利用talent-aio,30分钟开发一个高性能的即时通讯程序: http://www.talent-tan.com:9292/quickstart.html
修改点
-
server和client各增加stop()方法,用于停止服务和释放资源
-
优化重连(1.0.1版本已经优化过一次,1.0.3还将继续优化)
-
client增加异步连接(就是连接服务器时并不等待连接建立好后再往下执行)
-
各种变态测试发现的零碎问题修复(譬如同时连2万个连接,又马上断开,又马上连上,如此反复,考验服务器释放资源的能力以及正确性,也考验客户端重连能力以及重新管理连接的能力)
-
资源读操作和写操作时各自的锁优化
-
目录调整(不影响使用)
-
IM实例支持websocket,为以后的web监控功能打下基础 ( 作者厚颜无耻地违背了当初不实现websocket的决定,感谢baseio作者对本项目的支持 ),下图是个测试界面,后续会优化
对比一下老版的swing界面
注意点
-
IM实例的非界面相关的设计是接近生产项目标准的,但是界面设计仍然是DEMO级别的,后面有可能会去掉swing界面,而改用web来进行监控(利用本次实现的websocket协议)
-
IM实例同时支持普通的socket协议和websocket协议,在握手时确定协议格式,解码编码时对websocket加一层皮
-
IM实例中的swing客户端界面,后续会被抛弃,完全改用web版来实现。