web开发领域,springmvc之外有jfinal;TCP长连接领域,netty之外还有更易用的talent-aio
更好用、更接开发人员地气的TCP长连接框架,talent-aio 1.0.2正式版发布,已更新到maven中心仓库,talent-aio详细介绍请前往如下地址
- 红薯家的码云: https://git.oschina.net/tywo45/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版来实现。
为talent-aio提供支持的公司和个人
开源软件talent-aio持续活下去的几种途径( 回答许多朋友担心的这个问题 )
- 引入第三方公司支持,这是作者目前努力的主要方向。
- 社区捐款支持,传统的中国人似乎比较忌讳这一点,作者不会刻意追求这个方向,但也不拒绝。
- 依靠talent-aio开发出商用级的应用,譬如另一种活法的IM,这一点也是作者目前努力的方向之一,所以如果后面有一个talent-im出来,那么talent-im可能不是免费的。