Voovan 介绍
VOOVAN 开源框架
Voovan 是一个高性能异步网络框架和 HTTP 服务器框架,同时支持 HTTP 客户端抓取、动态编译支持、数据库访问封装以及
DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等功能。旨在提供可靠、方便、可单元测试的代码。它是一个无任何依赖的独立工具包,希望能够方便广大开发者快速的实现应用。
Maven 中央库支持:
<dependency> <groupId>org.voovan</groupId> <artifactId>voovan-framework</artifactId> <version>0.9.8</version> </dependency>
框架特点介绍:
使用 JDK8 的 lambda 表达式,快速实现 HTTP/WebSocket 服务的开发。
极简单的 HTTPClient 无任何依赖模拟浏览器抓取页面。
异步通信框架解决粘包问题。
异步通信框架特性:
类似 Netty 和 MINA 的异步 Socket 通信框架。但有有所不同。
可简单解决Socket通信粘包的问题 (代码中包含 HTTP协议、字符串换行、定长报文的粘包实现)。
支持 SSL/TLS 加密通信 。
提供线程池依据系统负载情况自动动态调整。
同时支持 NIO 和 AIO 特性。
WEB 服务器特性:
支持 WebSocket Version 13 ,并且保持 WebSocket 请求参数。
RESTFUL、使用 Lambda 更加方便的 WEB 服务实现。
支持路径变量自动抽取 当路径定义/:name,在使用/jonh地址访问时,可以通过 name 参数获取 jonh 字符串。
- > 教程入口
HTTP 服务代码举例( Demo 入口 ):
//构造 HttpServer 对象,使用配置文件的配置构造一个 HTTPServer,也可以使用默认构造函数构造. HttpServer httpServer = HttpServer.newInstance(); //普通 GET 请求样例 httpServer.get(/, (req, resp) -> { resp.write(我是测试小消息); }); //带路径参数的 GET 请求样例 httpServer.get(/:name/:age, (req, resp) -> { //req.getParameter(name) 获取请求路径中的name参数 //req.getParameter(age) 获取请求路径中的age参数 resp.write(我是测试小消息); }); //WebSocket请求样例 httpServer.socket(/websocket, new WebSocketBizHandler() { @Override public ByteBuffer onRecived(HttpRequest upgradeRequest, ByteBuffer message) { String msg = new String(message.array()); //收到的消息 return ByteBuffer.wrap(msg.getBytes()); //返回的消息 } @Override public void onOpen(HttpRequest upgradeRequest) { Logger.info(WebSocket connect!); } @Override public void onClose() { Logger.info(WebSocket close!); } }); //HttpServer服务启动 httpServer.Serve();
Voovan 官网
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。